我想在没有 Visual Studio 设计器的“帮助”的情况下创建和管理 Windows 服务应用程序。
由于这是 .NET,根据 MSDN 和设计者所做的判断,这意味着继承自 Installer
,以及构建和处理ServiceProcessInstaller
和 ServiceInstaller
能够管理服务的安装时执行。
运行时,这意味着创建一个 ServiceBase
子类并从 Main
开始使用 ServiceBase.Run
(并覆盖各种 ServiceBase
事件处理方法)。
但是,当我这样做时,Visual Studio 坚持处理 Installer
和 ServiceBase
子类作为设计者编辑的文件。这并不能完全提高可读性,更不用说它通常根本无法处理手写代码的事实。 我想避开设计师保持事情的可管理性(避免模糊的谁知道什么时候运行,特别是对于难以测试和调试的代码,例如 Windows 服务,毕竟必须安装才能运行),并且还能够在运行时指定服务名称,而不是在编译时 - 设计者不支持。
如何在没有所有垃圾的情况下创建 Windows 服务应用程序?
最佳答案
ServiceBase
源自 Component
.要禁用设计器 View ,您可以像这样附加属性:
[System.ComponentModel.DesignerCategory("Code")]
public class MyService : ServiceBase
{
}
关于.net - 不受 Visual Studio 干扰的 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946202/