7

インターフェイスを使用する場合、メソッドIClientMessageInspectorからのリクエストをキャンセルできBeforeSendRequestますか? 戻るnullと、とにかくリクエストが送信されます。

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

2 に答える 2

0

IClientChannel の Abort メソッドでリクエストをキャンセルできます。しかし、クライアントのディスパッチ メソッドはCommunicationObjectAbortedExceptionをスローします。

public object BeforeSendRequest(ref Message request, IClientChannel channel)
 {
    if(Condition)
    {
        channel.Abort();
        return null;
    }
    else
    {
       return request;
    }
  }
于 2016-05-10T15:26:20.910 に答える