我使用自定义操作选择器构建了一个服务,选择器只是查看消息正文中的特定元素(并忽略操作)以指定在合同上调用哪个方法。
这工作正常,我可以看到现在正在调用服务器代码,但是客户端抛出一个异常,说请求的动作不符合响应的动作。
什么扩展点可以帮助我调整响应动作标头,或者我可以在客户端做一些事情让它接受改变的动作......
非常感谢
我使用自定义操作选择器构建了一个服务,选择器只是查看消息正文中的特定元素(并忽略操作)以指定在合同上调用哪个方法。
这工作正常,我可以看到现在正在调用服务器代码,但是客户端抛出一个异常,说请求的动作不符合响应的动作。
什么扩展点可以帮助我调整响应动作标头,或者我可以在客户端做一些事情让它接受改变的动作......
非常感谢
我最终设置了 OperationContractAttribute 的 ReplyAction="*" ,以便将消息的操作设置为空,因此当我在服务器上切换操作时客户端不会感到困惑。
您可以尝试使用添加IDispatchMessageInspector实现并在BeforeSendReply () 方法中更改对传出消息的操作。根据您在 IDispatchOperationSelector 中所做的具体操作,可能可以摆脱它并在消息检查器中执行所有操作。