届いたメッセージをログに記録するMessageInspectorがありますか?メッセージを1回しか読むことができず、コピーを作成する必要がある理由は何ですか?バッファリングされたコピーを作成する必要があるというMSDNのドキュメントを見ましたが、なぜこのように実装されているのかわかりません。誰かが私にそれを説明できますか?
private static void SendRequest(string request)
{
var req = (HttpWebRequest) WebRequest.Create("http://urltoservice.svc/MethodToCall");
req.ContentType = "text/xml";
req.Method = "POST";
using (var stm = req.GetRequestStream())
{
using (var stmw = new StreamWriter(stm))
{
stmw.Write(request);
}
}
byte[] myData;
using (var webResponse = req.GetResponse())
{
var responseStream = webResponse.GetResponseStream();
myData = ReadFully(responseStream);
}
// Do whatever you need with the response
string responseString = Encoding.ASCII.GetString(myData);
}
サーバー部分にアクセスできない場合、またはメッセージのバッファリングされたコピーを使用するようにMessageInspectorを変更する機能がない場合、上記のメッセージを変更してストリームのコピーを作成できますか?もしそうなら、私はそれをどのように行うのですか?