我使用IDisptachMessageInspector输入WCF服务,然后在BeforeSendReply方法中调用服务操作,该方法更改消息的上下文。但是当我打电话给服务时,Inspector再次运行。我想不要去检查员。你知道怎么做那个场景吗?
答案 0 :(得分:0)
消息检查器的目的是允许您在服务模型层的其余部分处理之前或之后修改消息
在已经调用操作之后调用BeforeSendReply,在调用操作之前调用AfterReceiveRequest。
您看到的行为是您的消息检查程序在操作后被触发。然后,您将触发另一个操作,然后再次调用您的消息检查器。 BeforeSendReply通常用于将响应消息操作为WCF在使用其默认序列化等生成时出现问题的某种格式。它无法为您提供所需的行为
要决定调用哪个操作,通常会实现IDispatchOperationSelector。这个扩展点的具体想法看起来就像你需要的那样
答案 1 :(得分:0)
答案正在实施IOperationInvoker