【发布时间】:2010-09-16 23:25:55
【问题描述】:
我有一个无法启动的 WinService,因为 NServiceBus 抛出“服务无法启动。System.Messaging.MessageQueueException (0x80004005): 拒绝访问消息队列系统。”
这是在 Windows 7 上
我尝试将服务运行为:LocalSystem、Localservice 和 NetworkService
这是我设置 NServiceBus 的方式
private static IBus _serviceBus;
private static AuditMessageHandler _messageHandler;
public AuditQueueProcessor()
{
_messageHandler = new AuditMessageHandler();
_serviceBus = Configure.With()
.Log4Net()
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.LoadMessageHandlers()
.CreateBus()
.Start();
}
这是我的配置
<configuration>
<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core"/>
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core"/>
</configSections>
<MsmqTransportConfig InputQueue="LoggerInputQueue" ErrorQueue="LoggerInputError" NumberOfWorkerThreads="1" MaxRetries="5"/>
<UnicastBusConfig>
<MessageEndpointMappings>
<add Messages="Truckstop2.Imports.Objects.AuditMessage,Truckstop2.Imports.Objects" Endpoint="InputQueue@newimp001" />
</MessageEndpointMappings>
</UnicastBusConfig>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>
【问题讨论】:
-
用户需要查看、接收、获取属性等。可能有助于使用相同的凭据运行 MSMQ。
标签: c#-4.0 windows-services nservicebus