【问题标题】:Best type of project for automation and why?自动化项目的最佳类型,为什么?
【发布时间】:2011-12-08 08:33:12
【问题描述】:

我只是想知道为了实现自动化,最好的 C# 项目类型是什么。它很可能位于服务器上,并且需要能够每两个小时运行一次。该应用程序将与数据库通信,以便将一些表从一台服务器刷新到另一台服务器。

您对此有何偏好? winforms 应用程序或控制台应用程序,出于什么原因?

更新:

我应该补充一点,管理层表示他们不希望它成为网络服务,因为那也是我的第一选择。

【问题讨论】:

  • 如果应用程序将驻留在单独的服务器中,则可以将其实现为Windows Service。
  • 如果您希望每 2 小时自动触发一次 Windows 服务,可能最好使用它。否则,如果真人要登录并加载它,那么它是 Win Forms 还是控制台应用程序并不重要。只要功能在那里:)
  • 该应用很可能会驻留在服务器上以进行刷新并从那里与其他服务器通信。

标签: c# automation


【解决方案1】:

我更喜欢Windows Service。

控制台应用程序或 winforms 应用程序必须由登录用户启动。 Windows 服务将独立于当前用户在后台运行。

对于开发,我主要从控制台应用开始,因为它更容易部署和测试,然后转为 Windows 服务并进行部署。

【讨论】:

  • @CSharpened - 请注意,您可以编写一个也可以作为控制台应用程序运行的 Windows 服务。例如,SQL Server 服务就是这样实现的。作为服务运行与作为控制台应用程序运行之间的显着区别在于安全环境。
  • 啊,我明白了。抱歉,我误解并将 Windows 服务理解为 Web 服务。早上有点早。谢谢解释
【解决方案2】:

肯定是控制台应用程序。
Winforms 在需要用户输入时很好用,但据我了解,这里不会涉及用户输入。

您可以将 Windows 调度程序设置为每 X 小时运行一次控制台应用程序,它会运行并完成,无需任何进一步的交互。

【讨论】:

    【解决方案3】:

    您需要任务调度程序,它会在每个可配置的时间生成并为您完成工作。您也可以拥有可以执行此操作的 Windows 服务。但是任务调度器会容易得多。

    【讨论】:

      【解决方案4】:

      服务应用程序可能是您最好的解决方案,因为无需任何人登录到服务器上的会话即可运行它。在 Service 应用程序中,只需使用 Timer 或等效的工具每隔几个小时运行一次进程。

      否则,您可以编写一个脚本(VBScript、Powershell、CMD 等)来完成这项工作,然后使用 Windows 任务计划程序每两个小时运行一次该进程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-31
        • 1970-01-01
        • 1970-01-01
        • 2019-11-15
        相关资源
        最近更新 更多