我有一个.net解决方案,有两个单独的项目, 一个是类库,另一个是Web应用程序。
我的所有服务引用都放在我的类库项目中。以编程方式完成所有绑定和端点配置。
在我的Web应用程序中,我通过阅读此链接添加了IClientMessageInspector和BehaviorExtensionElement。 How to: Inspect or Modify Messages on the Client
我不想在我的类库中添加dbcontext访问,并且我的所有数据库操作都在Web应用程序项目中完成。
现在问题是我想记录我的类库中的每个传出服务调用,并且我想全局配置它。 (登录到数据库)
对于旧式Web引用我能够像下面的图像一样添加Soap Extention,并使用TraceExtention类记录所有调用。
我需要使用服务参考的相同能力。
答案 0 :(得分:1)
您可以通过向web.config添加行为扩展来对WCF执行相同的操作。
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ClientBehavior">
<ClientEndpointBehavior />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="ClientEndpointBehavior" type="Custom.WCFMessageInspector, Custom" />
</behaviorExtensions>
</extensions>
</system.serviceModel>
1- Custom.WCFMessageInspector是客户端检查代码所在的位置。
2-将behaviorConfiguration =“ClientBehavior”添加到客户端端点。