0

我使用 IDisptachMessageInspector 检查 WCF 服务,然后在更改消息上下文的 BeforeSendReply 方法中调用服务操作。但是当我调用 service 时, Inspector 再次运行。我不想运行检查员。你知道有什么方法可以做那个场景吗?

4

2 回答 2

0

消息检查器的目的是允许您在服务模型层的其余部分处理消息之前或之后修改消息

BeforeSendReply 在操作已经被调用之后被调用, AfterReceiveRequest 在操作被调用之前被调用。

您看到的行为是您的消息检查器在操作后被解雇。然后您将触发另一个操作,然后再次调用您的消息检查器。BeforeSendReply 通常用于将响应消息操作为 WCF 在使用其默认序列化生成时遇到问题的某种格式等。它无法为您提供您正在寻找的行为

要决定调用哪个操作,您通常实现IDispatchOperationSelector。这个扩展点的具体想法看起来正是你所需要的

于 2011-06-17T09:52:46.187 回答
0

答案是实现 IOperationInvoker

于 2011-08-16T11:30:43.840 回答