标签: iclientmessageinspector

如何在BeforeSendRequest中取消请求

使用IClientMessageInspector界面时,我可以从BeforeSendRequest方法中取消请求吗?null无论如何,返回发送请求.

 public object BeforeSendRequest(ref Message request, IClientChannel channel)
 {
    if(Condition)
    {
        return null; //I want cancel my send
    }
    else
    {
       return request;
    }
  }
Run Code Online (Sandbox Code Playgroud)

.net wcf iclientmessageinspector

7
推荐指数
1
解决办法
600
查看次数

如何在IClientMessageInspector中获取调用的操作名称?

IClientMessageInspector在我的应用程序中实现了"拦截"传出Web服务调用.是否有可能找出哪些操作正在从内部被称为BeforeSendRequestAfterReceiveReply

这里有一个类似的问题,如何在WCF消息检查器中获取调用的操作名称,该命令用于服务器端(接收请求的一方).我尝试做类似的事情,例如

    public object BeforeSendRequest(ref Message request, IClientChannel channel)
    {
        var v = OperationContext.Current.OutgoingMessageProperties["HttpOperationName"];
        return null;
    }

    public void AfterReceiveReply(ref Message reply, object correlationState)
    {
        var v = OperationContext.Current.OutgoingMessageProperties["HttpOperationName"];
    }
Run Code Online (Sandbox Code Playgroud)

但在传出请求期间,似乎OperationContext.Current为null,所以我不能使用它.知道如何获得它吗?知道怎么干净利落(相反,解析SOAP xml)?

.net c# wcf soap iclientmessageinspector

6
推荐指数
2
解决办法
4477
查看次数

标签 统计

.net ×2

iclientmessageinspector ×2

wcf ×2

c# ×1

soap ×1