StreamWriter を使用して、WebRequest POST 経由で大量のデータ (30 MB 以上) を渡しています。ストリームは同時 IO 読み取りまたは書き込み操作をサポートしていませんというエラーで失敗します。エラー メッセージに反して、同時操作は実行していません。アプリはシングル スレッドであり、StreamWriter ロジックは非常に単純です。
string data = "......."; // 30mb+ of text
var webRequest = WebRequest.Create(someUrl);
webRequest.Method = "POST";
webRequest.ContentLength = data.Length;
using (var writer = new StreamWriter(webRequest.GetRequestStream()))
writer.Write(data);
大量のデータが原因だと思います。大きなファイル ( [1]、[2] )をアップロードするときにこのエラーが発生する Team Foundation System ユーザーからこのエラーへの言及を見てきましたが、TFS の議論以外で大きなデータが原因として議論されているのを見たことはありません。
StreamWriter で本当に限界に達しているのでしょうか? このデータをストリーミングするより効率的な方法はありますか?