System.ServiceModel.Security.MessageSecurityException, возникающий в ExceptionShielding - PullRequest
5 голосов
/ 01 мая 2009

Мы используем функцию ExceptionShielding блока приложения обработки исключений Enterprise Library 4.1 в сочетании с пользовательским RoleProvider с нашими службами WCF.

Когда RoleProvider определяет, что пользователь не является ролью, и возвращает false из метода IsInRole, возникает следующее исключение:

    System.ServiceModel.Security.MessageSecurityException, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    No signature message parts were specified for messages with the '{XXX}' action.

WCF затем прерывает RequestContext операции службы, и время ожидания клиента истекает.

Я попытался найти решение по этой ссылке, но безуспешно:

http://www.codeplex.com/entlib/Thread/View.aspx?ThreadId=25236

Мы также удалили тип исключения System.Exception из политики EHAB, фактически EHAB ничего не делал для этой политики, и это не имеет никакого эффекта.

Единственное, что предотвращает это исключение - это комментирует атрибут ExceptionShielding в реализации службы.

Любое исправление для этой проблемы будет высоко ценится.

1 Ответ

2 голосов
/ 10 марта 2011

Я часами пытался выяснить причину. Я разместил свой ответ здесь .

По сути, вам нужно определить действие при сбое и установить его в том же пространстве имен.

...