System.ServiceModel.Security.MessageSecurityException возникает в ExceptionShielding

Мы используем функцию 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 в реализации службы.

Мы будем очень благодарны за любое исправление этой проблемы.


person Community    schedule 30.04.2009    source источник


Ответы (1)


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

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

person Aliostad    schedule 09.03.2011