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

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

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. 

您需要通过Visual Studio接口将其创建为服务,这将为您提供需要实现的正确的类和方法。

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

如何创建Windows服务

还有另一种使用TopShelf实现Windows服务的方法。 实际上,您可以使用顶部框架作为Windows服务运行控制台应用程序。 它的优点很容易调试。 据我所知,当你想调试Windows服务,你已经在服务控制台启动服务。 如果您正在编译和服务从构建输出直接安装停止服务。 这是非常痛苦的一步。

如果您使用的是顶级架构,您可以像启动Windows窗体应用程序一样来启动服务进行调试。 还有其他的好处。 请参考网站。