我有一个自托管的WCF服务,它使用activity IDs进行日志记录。我希望服务活动ID与客户端上设置的匹配。这是我在服务方法中用来获取客户端活动ID的属性:
Trace.CorrelationManager.ActivityId
这是我在服务和客户端中的配置:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" ... propagateActivity="true">
...
</sources>
</system.diagnostics>
如果没有此配置,Trace.CorrelationManager.ActivityId
将返回空的GUID。
如果没有配置,我怎样才能完成相同的事情,即完全在C#中?我可以访问服务和客户端代码。我可以设置某个设置来启用WCF上的活动传播吗?