使用.NET库自动化任务的最佳技术是什么?

6
假设您需要开发并安排一个应用程序/脚本来执行以下操作:
- 引用一个或多个 .net 程序集 - 查询 API,获取一些对象 - 对于每个对象,在 API 中调用另一个方法
你会使用什么?
过去我创建了一些小的控制台应用程序来执行上述操作,但这似乎有点笨重和过度。
我想像 PowerShell 或 IronPython 这样的东西可能更适合。
有什么推荐吗?
5个回答

10

3

PowerShell的优点之一是他们在后台做了很多工作,使事情容易地组合在一起,进行隐式类型转换等等,以使一个程序的输出可以用作另一个程序的输入。由于所有内容都通过对象传递,因此您无需编写文本处理代码来拼凑东西。

然而,当我编写大量原始代码而不是严重依赖库和组件粘合时,我更喜欢Python。


2
应用程序驱动程序的问题在于它们经常会出现故障。应用程序不断改变其外部表面,这对驱动程序造成了破坏。因此,您需要不断更新驱动程序的某些部分。我发现非编译动态语言非常适合此类操作,因为您可以快速进行更新并启动任务。
PowerShell是一个非常好的技术工具。它非常灵活,而且很容易上手。它是编译和动态代码的混合体。因此,您的驱动程序中更重的算法部分可以使用任何编译语言,而更脆弱和频繁更新的部分可以使用脚本。它们可以无缝集成。
我是一位狂热的PowerShell用户,对IronPython并没有太多经验(这也是我选择PowerShell的原因)。IronPython也可能拥有这些特性,如果您更熟悉该语言,则可以使用它。

2

IronPython.

我试用了Powershell和IronPython来完成以上任务,得出结论,对于我来说,IronPython是最佳选择。

公正地说,无论是Powershell还是任何基于DLR的语言,如IronPython或IronRuby,都适合这个任务,比维护琐碎的控制台应用程序要少些开销。

如果你只是使用一个.net库并进行一些脚本处理,则IronPython比Powershell更加优秀。如果你想利用某种类型的shell功能或使用现有的CMDLETS,则Powershell是更好的选择。

IronPython是Python的一种实现,具有易学、易读和快速开发等编写脚本的所有优点。


0

由于对PowerShell感到失望,我开始研究IronPython。我认为这是一个很好的替代方案,特别是如果你是一名程序员。即使你是一名IT人员,我认为Windows命令行+IronPython是一个很好的组合,可以在.NET时代实现你所需的功能(就像命令行+vbscript在COM时代一样)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接