为什么在没有为exe报告错误的情况下,在NServiceBus.Host.exe中托管NserviceBus端点的Windows服务无法启动?

时间:2014-05-01 13:23:23

标签: c# windows-services nservicebus

要明确托管服务没有错误,只是一般的Windows服务错误。

错误消息显示:

错误1053:服务未及时响应启动或控制请求。

如果我明确地运行NServiceBus.Host(安装了Windows服务的地方),我会看到相关的消息,表明成功"旋转"结束点,事实上,我可以看到订阅消息被持久存储到相关的私有MSMQ队列中,然后exe就像一个好的服务器那样坐着等待它发生的事情。

如果我启动Windows服务(托管端点),事件查看器中没有异常或事件,或者日志文件中的条目指示任何错误或让我有理由相信发生了不好的事情。如果我查看日志文件和队列,我可以看到订阅消息被指示为已调度,实际上与独立运行它的行为相同,唯一的区别是服务不会启动。

编辑: Windows服务由NServiceBus框架以通用主机的形式提供,因此各种所需的Windows服务方法的实现不是我可以控制的,如果您自己创建Windows服务,通常会有这种方法。

1 个答案:

答案 0 :(得分:2)

我找到的最常见的原因是记录。

运行该服务的用户帐户必须具有性能监控访问权限。

我通过服务器管理器添加了这个>用户&群组>群组>性能日志用户>添加。