Как зарегистрировать экранирование исключений WCF {Guid} в клиенте

Я использую WCF Exception Shielding для сопоставления различных исключений с FaultContracts, чтобы я мог ограничить информацию, которую я предоставляю клиенту. Я надеялся использовать свойство сопоставления {Guid}, чтобы можно было сопоставлять журналы клиента и журналы сервера:

<mappings>
  <add source="{Guid}" name="Id" />
  <add source="{Message}" name="MessageText" />
</mappings>

Мой блок приложения для обработки исключений на стороне службы регистрирует исключения вместе с их GUID:

...
HandlingInstanceID: 262f5c59-2c89-4a00-b657-59dd4b04c406
...

Это работает, и я могу видеть эту информацию в детали FaultException клиента в отладчике. Тем не менее, я не могу понять, как получить блок приложения обработки исключений в клиенте для записи этой детали. Я использую стандартный LoggingExceptionHandler с TextExceptionFormatter:

<add name="Logging Handler"
  ...
  type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler...
  formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter... />

Но это, похоже, не включает в себя какие-либо пользовательские детали.

Если не считать явной записи в журнал исключения (уничтожая часть значения EHAB), как я могу записать GUID в журналы клиента?

0 ответов

Другие вопросы по тегам