Через несколько месяцев я наконец вернулся к использованию nservicebus и начал тестировать его на сервере. К сожалению, я получаю это исключение
The queue does not exist or you do not have sufficient permissions to perform the operation.
Я проверил с помощью диспетчера компьютеров, и очередь действительно существует, и я предоставил всем полный контроль над очередью, однако эта проблема сохраняется. Что я делаю не так?
Я использую
var bus = NServiceBus.Configure.With()
.SpringBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.LoadMessageHandlers()
.CreateBus()
.Start();
и
<MsmqTransportConfig
InputQueue="ListenQueue"
ErrorQueue="error"
NumberOfWorkerThreads="1"
MaxRetries="5"
/>
Я отлично работаю на своем ящике для разработчиков. Полная трассировка стека (которая не кажется такой уж полезной) выглядит так:
System.Messaging.MessageQueueException was unhandled
Message=The queue does not exist or you do not have sufficient permissions to perform the operation.
Source=NServiceListener
ErrorCode=-2147467259
StackTrace:
at NServiceListener.Program.Main(String[] args) in C:\temp\NServiceListener\NServiceListener\Program.cs:line 35
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()