在我对AfterReceiveRequest上的IDispatchMessageInspector的实现中,我想检查是否对正在调用的当前操作应用了OperationBehavior.所以我需要访问即将被调用的操作的OperationDescription?任何直接的方式,而不是必须比较当前操作的动作与DispatchRuntime中的所有操作?
谢谢..
小智 6
我有同样的问题,并通过以下方式解决.
OperationContext ctx = OperationContext.Current;
ServiceDescription hostDesc = ctx.Host.Description;
ServiceEndpoint endpoint = hostDesc.Endpoints.Find(ctx.IncomingMessageHeaders.To);
string operationName = ctx.IncomingMessageHeaders.Action.Replace(
endpoint.Contract.Namespace + endpoint.Contract.Name + "/", "");
OperationDescription operation =
endpoint.Contract.Operations.Find(operationName);
Run Code Online (Sandbox Code Playgroud)
这是msdn论坛的建议解决方案
| 归档时间: |
|
| 查看次数: |
2700 次 |
| 最近记录: |