English 中文(简体)
使用 .net 库自动化任务的最佳技术是什么?
原标题:
  • 时间:2009-02-14 16:41:53
  •  标签:

想象一下,你需要开发和调度一个应用程序/脚本来完成以下任务:-

  • Reference one or more .net assemblies
  • Query the API, get some objects
  • for each object call another method in the API

你会使用什么?

过去我已经创建了一些进行上述操作的小型控制台应用程序,但是它似乎有些笨拙和过度臃肿。

我想类似于PowerShell或IronPython可能更合适。

有任何建议吗?

最佳回答

铁Python。

我尝试使用PowerShell和IronPython进行上述任务的试验,并得出结论,即IronPython最适合我。

公平地说,无论是Powershell还是任何DLR基础语言,例如IronPython或IronRuby,都适合该任务,并且比维护琐碎的控制台应用程序少了负担。

如果你所做的只是使用一个 .net 库并进行一些脚本编写,那么 IronPython 要比 Powershell 更胜一筹。如果你想要利用一些类似于 shell 的功能或使用现有的 CMDLET,那么 Powershell 更适合一些。

IronPython是Python的一种实现,具有Python的所有脚本优点,如易于学习、易于阅读和快速开发。

问题回答

绝对的PowerShell,这正是它设计的东西。

以下是一些有用的资源,可帮助您开始:

PowerShell的优点之一是他们在后台做了很多工作,使得事物之间很容易地拼接在一起,进行隐式类型转换等操作,以使一个程序的输出可以作为另一个程序的输入。并且,由于所有的东西都传递对象,你不需要编写文本拼接代码来把各种东西凑在一起。

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

应用程序驱动程序的问题在于它们经常会出现故障。应用程序不断改变其外部结构,这使驱动程序混乱不堪。因此,您不断需要更新驱动程序的部分。我发现非编译动态语言非常理想,因为您可以快速进行更新并启动任务。

PowerShell 是用于此的一种很棒的技术。它非常灵活且易于上手。它由编译和动态代码组成。因此,驱动程序中更算法密集的部分可以采用任何已编译的语言,而更易受损、经常更新的部分则可以采用脚本。它们可以无缝集成。

我是一个热爱使用PowerShell的用户,对IronPython没有太多的经验(这也是我选择PowerShell的原因)。但是IronPython也可能具有这些功能,如果你更擅长这种语言,你应该选择它。

出于对PowerShell的失望,我开始尝试使用IronPython。我认为这是一个很好的替代方案,特别是对于程序员而言。即使你是一个IT人员,我认为Windows命令行 + IronPython是一个很好的组合,可以在.NET时代完成你所需的任务(就像命令行 + vbscript在COM时代很好用)。





相关问题
热门标签