需要关于Windows服务的一些方向

时间:2009-07-10 20:49:22

标签: .net input service

我需要做以下事情,我想知道我是否能得到你的一些意见。 每晚都会在某个位置(在ftp服务器上)创建一个文件。我需要做的是下载此文件并通过Web服务将其导入远程SQL Server。 我还需要能够手动重新运行导入过程(下载文件并将内容发送到服务器)。 我认为Windows服务对此有好处,但我不知道如何在任何时候手动重新运行导入过程。有人做过类似的事。如果是这样,你使用的技术是什么?

由于

5 个答案:

答案 0 :(得分:4)

Windows服务有点矫枉过正,除非您想每10分钟轮询一次,或者查找该文件。否则,您应该使用预定任务。

如果您使用的是Windows服务,则可以执行simple Custom Command进行轮询。远程处理,IPC等也可以工作 - 但重量相当大。

答案 1 :(得分:2)

Service Controller课程可能对您有所帮助。您可以使用它从单独的“前端”应用程序在正在运行的服务中执行命令。

答案 2 :(得分:0)

您可以使用SyncBackSE之类的内容来创建配置文件以通过FTP下载文件,然后运行After事件来执行导入(您可以具体说明要运行的内容)。这可以按计划(通过Windows计划任务运行),但您也可以手动运行(选择配置文件,然后运行)。不需要任何编程,我想更多的是服务器管理员回答你的问题。

答案 3 :(得分:0)

如果你想从桌面应用程序与Windows服务交谈(告诉它做你的手动运行),那么规范的方法是使用命名管道。它们实现起来非常简单,并且管道跨越会话/桌面边界,这在您与服务进行通信时是必需的。

答案 4 :(得分:0)

我同意您可以通过计划任务执行此操作。但是,如果您确实想要使用Windows服务,则可以使用命令行参数运行该程序,例如“MyService.exe -onetime”。然后,在Main函数中,您可以检查是否包含该命令行参数。如果是,那么你可以跳过通常的代码而只是运行导入。