このブログ投稿をフォローしようとしています: http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-inspectors.aspx
私の目的は、着信リクエストのリモートアドレスを何らかの方法で取得することですが、何らかの理由で、アドレスがどのパラメーターにも表示されないか、null になっています。
私が実装しているインターフェースは次のとおりです。
public interface IDispatchMessageInspector
{
object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext);
void BeforeSendReply(ref Message reply, object correlationState);
}
リモートアドレスを取得しようとしている方法はAfterReceiveRequest
. パラメータrequest
との両方をチェックしましchannel
た。また、あるchannel.RemoteAddress
べき場所にあるようですが、そのプロパティは何らかの理由でnullです。パラメーターも null ですが、request
POST ではなく GET を実行しているためだと思います。
以下は、これをテストするために呼び出すメソッドのシグネチャです。
[OperationContract, WebGet( UriTemplate = "{*path}", ResponseFormat = WebMessageFormat.Json)]
string[] GetList(string path);