我有一个Windows服务,其名称由app.config设置。 我将名称设置如下:
ServiceBase.SerivceName是在Service类构造函数上设置的(我已经删除了Service.Designer中ServiceName的设置):
ServiceName = ConfigurationManager.AppSettings.Get("ServiceName");
ServiceInstaller设置DisplayName和ServiceName,如下所示:
ServiceInstaller.DisplayName = config.AppSettings.Settings["ServiceName"].Value;
ServiceInstaller.ServiceName = ServiceInstaller.DisplayName;
所有工作都按预期工作,因此服务与重复服务一起安装得很好 它们有不同的名称和不同的位置 在服务列表中显示为单独的条目。
但我一次只能启动一项服务。我尝试启动第二项服务时遇到的错误是无益的:
The service is not responding to the control function.
尝试运行时会记录2个系统事件:
A timeout was reached (30000 milliseconds) while waiting for the Blah Service service to connect.
The Blah Service service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
感激不尽的任何帮助。
感谢。
答案 0 :(得分:2)
由于缺乏足够的信息来解决手头的问题,我建议使用http://topshelf-project.com/ - 它使得在.NET中安装,配置和调试Windows服务变得轻而易举。