Я создал службу WCF, используя привязку NetMsmq, для которой я создал личную очередь на своем компьютере и выполнил проект. Это работает нормально, и моя служба WCF запускается и получает доступ к сообщению, используя очередь в среде отладки. Теперь я хотел разместить службу с помощью службы Windows, и для этого я также создал новый проект и установщик Windows (эта служба работает под учетной записью локальной системы). Затем я попытался установить эту службу Windows с помощью команды InstallUtil через командную строку. Когда происходит установка и во время открытия хоста службы, я получаю исключение:
There was an error opening the queue. Ensure that MSMQ is installed and running, the queue exists and has proper authorization to be read from. The inner exception may contain additional information.
Inner Exception System.ServiceModel.MsmqException: An error occurred while opening the queue:Access is denied. (-1072824283, 0xc00e0025). The message cannot be sent or received from the queue. Ensure that MSMQ is installed and running. Also ensure that the queue is available to open with the required access mode and authorization.
at System.ServiceModel.Channels.MsmqQueue.OpenQueue()
at System.ServiceModel.Channels.MsmqQueue.GetHandle()
at System.ServiceModel.Channels.MsmqQueue.SupportsAccessMode(String formatName, Int32 accessType, MsmqException& msmqException)
Может ли кто-нибудь предложить возможное решение вышеуказанной проблемы? Я пропускаю какие-либо разрешения, которые нужно установить для очереди, а также службы Windows, если да, то можете ли вы предложить, где эти разрешения должны быть добавлены?