Как зарегистрировать экранирование исключений 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 в журналы клиента?