【发布时间】:2011-06-24 04:33:58
【问题描述】:
我想在没有 Visual Studio 设计器“帮助”的情况下创建和管理 Windows 服务应用程序。
由于这是 .NET,根据 MSDN 和设计者所做的判断,这意味着从 Installer 继承,并构造和处理 ServiceProcessInstaller 和 ServiceInstaller 以便能够管理安装时执行服务。
运行时,这意味着创建一个ServiceBase 子类并使用ServiceBase.Run 从Main 开始它(并覆盖各种ServiceBase 事件处理方法)。
但是,当我这样做时,Visual Studio 坚持将Installer 和ServiceBase 子类视为设计器编辑的文件。这并不完全有助于提高可读性,更不用说它通常根本无法处理手写代码。 我想避免设计人员以保持事情的可管理性(以避免模糊的谁知道什么时候运行,特别是对于那些难以测试和调试的代码,例如 Windows 服务,毕竟 必须安装才能运行),并且能够在运行时指定服务名称,而不是在编译时 - 设计者不支持。
如何创建一个 Windows 服务应用程序而不需要所有的垃圾?
【问题讨论】:
-
您可能想看看 TopShelf 项目 - topshelf-project.com
-
嗯 - 整洁!看起来有点矫枉过正,还不够成熟,但如果我要写一个新的应用程序,我肯定会考虑。
标签: .net windows-services designer