Msmq и WCF Service

Я создал сервис WCF с помощью привязки NetMsmq, для которой я создал частную очередь на своей машине и осуществил проект. Это хорошо работает как таковое, и мой сервис WCF запускается и получает доступ к сообщению с помощью очереди в среде отладки. Теперь, я хотел разместить сервис с помощью сервиса окон, и для того же я создал нового и установщика 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)

Кто-либо мог предложить возможное решение для вышеупомянутой проблемы? Я пропускаю какие-либо полномочия, которые будут установлены для очереди, а также службы окон, раз так Вы могли предложить, где эти полномочия должны быть добавлены?

7
задан Jon Seigel 28 March 2010 в 21:25
поделиться

3 ответа

Том Холландр имел большой трехчайный дневник в блоге по использованию MSMQ из WCF - нужным достоинством!

Может быть, вы найдете решение вашей проблемы, упомянутой где-то!

7
ответ дан 6 December 2019 в 19:36
поделиться

Да, это выглядит как проблема разрешений.

Щелкните правой кнопкой мыши на вашу частную очередь из диспетчера серверов и выберите «Свойства». Перейдите на вкладку «Безопасность» и убедитесь, что у вас есть правильные разрешения там для вашей учетной записи локальной системы.

Это также подтверждается в статье Николаса Аллена: Диагностика общих ошибок очереди , где автор определяет код ошибки 0xC00E0025 в качестве задачи разрешений.

4
ответ дан 6 December 2019 в 19:36
поделиться

Я столкнулся с той же проблемой, вот решение.

Щелкните правой кнопкой мыши «Мой компьютер» -> «Управление». В окне «Управление компьютером» перейдите в «Службы и приложения -> Очередь сообщений -> очередь ur», выберите очередь ur и откройте свойства. Добавьте пользователя, запускающего приложение WCF ur, и предоставьте полный доступ. Это должно решить проблему.

2
ответ дан 6 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: