0

json コンテンツをストリーム ライターに書き込んだ後、ストリームライターを閉じるときにエラーが発生しました。以下は私が使用しているコードです。何が間違っているかを見つけることができません。REST サービスへの書き込みです。

WebRequest request = WebRequest.Create(String.Format("{0}/EventLog", restPath));
            request.ContentType = "application/json";
            request.Method = "POST";
            request.ContentLength = jsonstring.Length;                
            System.IO.StreamWriter sw = new System.IO.StreamWriter(request.GetRequestStream());
            sw.Write(jsonstring);                
            sw.Close();
            sw.Dispose();
            HttpWebResponse res = (HttpWebResponse)request.GetResponse();

例外:「すべてのバイトが書き込まれるまで、ストリームを閉じることはできません。」

4

1 に答える 1

1

コンテンツの長さ (バイト単位)request.ContentLength本当に等しいことを確認してください。

これは同じエラーをスローします:

string data = "mydata";

WebRequest request = WebRequest.Create("http://google.de/");
request.ContentType = "application/json";
request.Method = "POST";
request.ContentLength = data.Length + 1;
System.IO.StreamWriter sw = new System.IO.StreamWriter(request.GetRequestStream());
sw.Write(data);
sw.Close();
sw.Dispose();
HttpWebResponse res = (HttpWebResponse)request.GetResponse();
于 2012-06-07T09:40:41.953 に答える