WCF消息检查员

时间:2009-08-04 14:56:43

标签: .net wcf

我正在开发一个WCF服务,我需要拦截传入消息以进行自定义验证。 经过我的研究,我发现我需要为此目的实现IDispatchMessageInspector。所以,我在界面的AfterReceiveRequest方法中插入了自定义验证。

问题: 当我调试代码时,我看到消息接收不会触发我实现的AfterReceiveRequest方法。

问题: 我是否需要在某处注册我的类/方法以在收到消息时触发?

1 个答案:

答案 0 :(得分:2)

您已经实现了IDispatchMessageInspector - 但是您是否已将其添加到服务器端的ServiceHost .Behaviors集合中以便包含它?

有关详细信息,请参阅此blog post - 首先需要创建一个实现IEndpointBehavior的类(或IServiceBehavior - 您需要的任何一个)并在其上实现ApplyDispatchBehavior方法。

然后,您需要在打开ServiceHost之前将此行为添加到ServiceHost,或者您需要创建另一个类以允许您为服务配置此行为。

马克