Windows服务或控制台应用程序?

时间:2012-02-23 08:30:17

标签: c#

我的想法很糟糕,

这是我想要做的, 我有两张桌子

表A和表B.

TableA有四个字段(Cust.No,Cust.Name,Description,FlagCust)

表B有三个字段(cust.No,City,country)

我的要求是每隔20分钟检查一次“ FlagCust ”(它是一个布尔值)列,如果是真的,则从TableA和表B中获取客户的详细信息。

但是我面临的问题是我必须通过数据库通过 WCF 服务进行通信,这将定期每20分钟运行一次。

其中一些人建议编写一个控制台应用程序并在计划任务中运行它,其他人建议使用写Windows服务来完成这项任务。

获得这些记录之后再多一点

一旦我获得了数据,例如客户名称描述,表A中就会告诉客户数据文件以及其位于其他上传和下载过程的位置我将根据描述细节下载客户文件并上传到其他地方。

当我检索多条记录进行下载和上传过程时,我不确定如何处理这种情况下的多条记录。

3 个答案:

答案 0 :(得分:2)

我认为这里没有正确的答案。两种解决方案都有效。

开发服务会稍微复杂一点,但它会给你更大的灵活性 - 一次运行两次检查更容易,例如,如果其中一项由于某种原因需要20分钟,你就会有更好的报告如果它崩溃(以及自动重启它的能力)。

如果你需要它更可靠,我会选择服务,但是按计划任务进行也可以。

答案 1 :(得分:1)

答案 2 :(得分:1)

对于这样只需要定期运行的东西,我可能会提倡使用Windows调度程序。这就是它的用途。

如果你写了一个服务,那么另一个过程就是无所事事。我不能成为唯一一个对我的机器上所有服务和流程感到恼火的人,他们唯一的工作就是定期检查软件更新。调度程序是旨在替换所有这些单独服务的服务。

我写一个真正的服务的唯一时间是它必须始终响应,即使它只是偶尔使用(例如服务通信请求)。