我只是想知道C#项目的最佳类型是什么才能实现自动化。它很可能是坐在服务器上,需要能够每两小时运行一次。该应用程序将与数据库通信,以便将一些表从一个服务器刷新到另一个服务器。
您对此有何偏好? winforms应用程序或控制台应用程序以及出于什么原因?
我应该补充一点,管理层表示他们不希望成为网络服务,因为这也是我的第一选择。
答案 0 :(得分:4)
我更喜欢Windows Service。
登录用户必须启动控制台应用或winforms应用。 Windows服务将在后台运行,与当前用户无关。
对于开发,我主要从一个控制台应用程序开始,因为它更容易部署和测试,然后转入Windows服务并进行部署。
答案 1 :(得分:1)
确定控制台应用程序 当需要用户输入时,Winforms很好,但据我所知,此处不会涉及用户输入。
您可以将Windows计划程序设置为每X小时运行一次控制台应用程序,并且无需任何进一步的交互即可运行和完成。
答案 2 :(得分:1)
您需要任务计划程序,它将产生每个可配置的时间并为您完成工作。您也可以使用Windows服务,也可以这样做。但任务调度程序会容易得多。
答案 3 :(得分:1)
服务应用程序可能是您的最佳解决方案,因为它可以在没有任何人必须登录服务器上的会话的情况下运行。在服务应用程序中,只需使用计时器或等效程序每隔几个小时运行一次。
否则,您可以编写执行该工作的脚本(VBScript,Powershell,CMD等),然后使用Windows任务计划程序每两个小时运行一次该过程。