我需要通过检查 IDispatchMessageInspector 中的请求消息对象来了解正在调用的操作。
做这个的最好方式是什么?
确实没有 100% 确定的方法来执行此操作,因为 IDispatchMessageInspector.AfterReceiveRequest() 在调度程序将消息与服务上的实际操作匹配之前运行。也就是说,如果您使用默认的IDispatchOperationSelector,则可以在 ApplyDispatchBehavior() 期间构建一个匹配 SOAP 操作名称和操作名称的映射。我有一篇博文在这里谈了一点。
这里有一些关于如何在一些代码上构建此地图的示例。