4

所以这是我第一次以编程方式创建 Windows 服务或计划任务,我很困惑该选择哪一个。我查看了各种文章,例如http://weblogs.asp.net/jgalloway/archive/2005/10/24/428303.aspx计划任务或 Windows 服务等等,但不能真正决定两者之间

这是我的场景:

我的应用程序将从 db 中获取一些 dll 的代码路径,使用 MSTest.exe 执行 DLL 并将结果记录回 Db。这可能会每 2-3 小时重复一次。现在我更倾向于计划任务,因为我不必担心与内存相关的问题,但需要一些专家的建议。

PS:DLL 包含调用部署在各种服务器上的应用程序的 Web 服务的测试方法

在此先感谢您的帮助

4

2 回答 2

14

计划任务更适合您的方案。当操作系统已经提供调度基础设施时,我认为在 Windows 服务上构建调度机制没有多大意义。

Windows 服务更适用于必须随时响应事件而不是在特定和修复周期响应的进程。这就是为什么他们一直在运行。SQL Server 服务就是一个例子。

一个例外可能是需要每秒运行一次左右的任务。在这种极端情况下,Window Service 可能是最好的解决方案。对于您的具体日程安排,我毫不怀疑计划任务会更适合。

于 2013-05-21T19:24:23.037 回答
0

尽管这篇文章已有几个月的历史,但这里有一个可能的解决方案,以防“无论用户是否登录都运行”问题对其他人有帮助:从控制台项目开始,然后将类型更改为 Windows 应用程序,如运行代码一次中所述并退出无窗体应用程序:Windows 窗体或 WPF ......这有关系吗?:“如果您从不显示 UI,则应从 WinForms 项目开始(WPF 项目设置了您不想要的额外项目元数据),然后删除对 System.Windows.Forms.dll 的引用。或者,从控制台项目开始,然后将输出类型更改为 Windows 应用程序。”</p>

于 2014-01-02T22:59:14.930 回答