时间:2010-07-26 05:51:38

标签: multithreading architecture windows-services

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

确实没有线程或服务选择,服务可以(通常是!)多线程,线程可以启动服务。

您可以有三种基本选择: -

以某种方式启动另一个线程在用户登录时运行 - 这对于你想要的东西来说可能是一个非常糟糕的选择,因为一旦用户会话丢失,你就无法真正保持运行。

编写一个完全成熟的Windows服务,该服务在操作系统启动时启动,并继续运行unitl服务器关闭。您可以使其依赖于SQLserver服务,因此它在数据库可用后启动。这是“最佳”解决方案,但可能对您的目的而言过度杀伤。另外,您需要知道服务API才能正确编写它,因为您需要正确响应关闭和状态请求。

您可以使用Windows计划程序定期执行任务,或者最好是SQLServer内置的计划程序,我认为这将是最适合您需求的选项。