Служба WCF, размещенная в NT с MSMQ, не останавливается должным образом и блокируется

Это проблема, которая уже несколько недель сбивает меня с толку в клиентской среде Live.

Служба WCF размещена на Windows Server 2003 и имеет конечные точки HTTP и MSMQ.

При размещении службы в тестовой среде служба чисто запускается и останавливается, а сообщения передаются без проблем. Однако в среде Live служба запускается нормально, но не завершается корректно.

При попытке остановить службу машине требуется много времени, чтобы ответить, и в конечном итоге выдает сообщение об ошибке, в котором говорится, что служба не может быть остановлена. При проверке ошибки в журнале событий выясняется, что не удалось выполнить запись в очередь MSMQ (доступ запрещен), однако служба может читать и удалять сообщения из очереди. Если затем обновить диспетчер служб, служба фактически остановится.

Очередь MSMQ размещена на другом физическом компьютере, и нам не удалось воспроизвести ошибку в тестовой среде.

Мы не уверены, связано это или нет, но служба также иногда перестает извлекать сообщения из очереди. Это было решено перезапуском службы. Опять же, нам не удалось воспроизвести ошибку.

Недавно мы столкнулись с другой ошибкой с клиентом на основе HTTP, когда однажды в полночь служба внезапно начала отклонять соединения со следующим исключением:

The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate,NTLM'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.

Еще более любопытно то, что простой перезапуск службы, похоже, решает проблему.

Если кто-то видел что-то подобное раньше или оставит комментарии, мы будем очень признательны!


person Geoff    schedule 15.11.2010    source источник
comment
Сервис размещается с использованием библиотеки ServiceModelEx   -  person Geoff    schedule 04.01.2011


Ответы (1)


В разговоре с коллегой, по-видимому, установка всех параметров регулирования ServiceModelEx на «1» помогает с блокировкой служб WCF на основе MSMQ.

person Geoff    schedule 04.01.2011