我希望创建和管理一个Windows服务应用程序,但不需要使用Visual Studio设计器的“帮助”。
由于这是.NET平台,根据MSDN和设计器所做的事情,这意味着要继承自Installer
,并构建和处理ServiceProcessInstaller
和ServiceInstaller
以便能够管理安装时执行服务的操作。
在运行时,这意味着创建一个ServiceBase
子类,并从Main
中使用ServiceBase.Run
启动它(并覆盖各种ServiceBase
事件处理方法)。
然而,当我这样做时,Visual Studio坚持将Installer
和ServiceBase
子类视为由设计器编辑的文件。这并没有帮助阅读性,更不用说它通常无法处理手写代码。 为了让事情容易管理(特别是对于那些难以测试和调试的代码,例如Windows服务必须被安装后才能运行),并且能够在运行时指定服务名称而不是在编译时指定服务名称 - 设计器不支持这一点 - 我希望避免使用设计器。
如何创建一个没有所有繁琐操作的Windows服务应用程序?