1

私は単純なIClientMessageInspectorを持っています:

public class ConsoleMessageTracer : IClientMessageInspector
{
    public void AfterReceiveReply(ref Message reply, object correlationState)
    {
        Console.WriteLine(reply.ToString());
    }

    public object BeforeSendRequest(ref Message request, IClientChannel channel)
    {
        Console.WriteLine(request.ToString());
    }
}

AfterReceiveReply正常に動作しますが 、コンソールに書き込まれるBeforeSendRequestだけです。... Datastream ...

(実際に... Datenstrom ...は、ドイツ語で.NetをインストールしてThread.CurrentThread.CurrentCultureいるため、無視されているようです。)

リクエストメッセージの実際の本文にアクセスするにはどうすればよいですか?

4

2 に答える 2

1

メッセージ全体を取得するには、ストリームを読み取る必要があります。ただし、後でメッセージを読み書きできるようにする必要もあります。これを実現する方法の詳細については、この説明を参照してください。

于 2012-08-07T00:08:49.273 に答える
0

こんにちは、このコードで試すことができます-InputStream

    string documentContents = string.Empty;
    using (Stream receiveStream = Request.InputStream)
    {
        using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
        {
            documentContents = readStream.ReadToEnd();
        }
    }
于 2012-08-06T13:29:03.930 に答える