问题
I need to know what operation is being invoked by examining a request Message object in an IDispatchMessageInspector.
What is the best way to do this?
回答1:
There's really no 100% sure way of doing this, because IDispatchMessageInspector.AfterReceiveRequest() runs before the dispatcher has matched the message to an actual operation on the service. That said, if you're using the default IDispatchOperationSelector, then it's possible to build a map that matches SOAP Action names with operation names during ApplyDispatchBehavior(). I have a blog post that talks a little bit about this here.
There's a bit of an example of how to build this map on some code here.
来源:https://stackoverflow.com/questions/1686411/mapping-a-wcf-request-message-to-the-underlying-operation