如何使C#应用程序充当服务?

时间:2011-06-15 10:50:24

标签: c# .net windows

我开发了一个C#程序,虽然我尝试从中创建一个服务,例如

sc create "servicetest" binPath= 
   "C:\Users\Admin\Desktop\test\test.exe" start= auto error= ignore

我收到以下消息:

[SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.

3 个答案:

答案 0 :(得分:7)

您需要通过Visual Studio界面将其创建为服务,该界面将为您提供实现所需的正确类和方法。

答案 1 :(得分:2)

您需要将应用程序基于Visual Studio中提供的Windows服务模板(标准版中不提供。)请参阅此处:

How to: Create Windows Services

答案 2 :(得分:0)

还有另一种使用TopShelf实现Windows服务的方法。您实际上可以使用topshelf将控制台应用程序作为Windows服务运行。它的优点是易于调试。据我所知,当您想要调试Windows服务时,您已在服务控制台中启动该服务。如果要直接从构建输出安装编译和服务,请停止服务。这是一个额外痛苦的一步。

如果您使用的是topshelf,则可以启动服务,就像启动Windows窗体应用程序进行调试一样。还有其他好处。请参阅网站。