2009-08-04 43 views
1

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

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

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

+0

谢谢marc_s您的答案。感谢您的帮助。 :) – 2009-08-05 06:29:00

回答

2

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

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

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

Marc