我正在使用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详细信息中看到此信息。但是,我无法弄清楚如何在客户端中获取异常处理应用程序块以记录该详细信息。我正在使用带有TextExceptionFormatter的标准LoggingExceptionHandler:
<add name="Logging Handler"
...
type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler...
formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter... />
但这似乎不包括任何自定义细节。
如果没有自己显式记录异常(击败EHAB的部分值),如何在客户端日志中记录GUID?