RestSharpにパッチを適用して、要求の本文POST
として非ASCII文字を使用してXMLを実行できるようにしようとしています。POST
書き方は次のとおりです。
private void WriteRequestBody(HttpWebRequest webRequest) {
if (HasBody) {
webRequest.ContentLength = RequestBody.Length;
var requestStream = webRequest.GetRequestStream();
using (var writer = new StreamWriter(requestStream, Encoding.ASCII)) {
writer.Write(RequestBody);
}
}
}
RequestBody
は文字列であり、サーバーが実際にリクエストを解析しようとすると、すべての非ASCII文字がに変わります???
。
今、私は次のことをします:
var encoding = Encoding.UTF8;
webRequest.ContentLength = encoding.GetByteCount(RequestBody);
var requestStream = webRequest.GetRequestStream();
using (var writer = new StreamWriter(requestStream, encoding)) {
writer.Write(RequestBody);
}
しかし、 「すべてのバイトが書き込まれるまでストリームIOException
をStream.Dispose()
閉じることはできません」というメッセージが表示されます。
このXMLを投稿するにはどうすればよいですか?