来自ChannelFactory的触发事件

本文关键字:事件 ChannelFactory 来自 | 更新日期: 2023-09-27 18:08:29

我们正在使用ChannelFactory连接到我们的WCF服务。每当我调用服务时,我都希望Channel工厂触发另一个事件。比如OnFunctionCall。如何将这样的事件处理程序添加到ChannelFactory ?我有点赶时间,所以我希望有人能帮忙。

使用c#, .net 3.5 SP1

亲切的问候

来自ChannelFactory的触发事件

一个可能的解决方案是创建一个端点行为并将其附加到工厂端点(见下文)。该行为将添加一个检查器到工厂创建的通道(可以是IClientMessageInspectorIParameterInspector),并且您的检查器将在消息发送到服务器时触发OnFunctionCall事件。

var factory = new ChannelFactory<IService>(...);
factory.Endpoint.Behaviors.Add(new MyInspector());

有关消息检查器的更多信息,您可以查看http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-inspectors.aspx,关于参数检查器,您可以查看http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/26/wcf-extensibility-iparameterinspector.aspx。