ファイルをブラウザーにストリーミングする C#/ASP.NET のヘルパー メソッドを作成しています。応答ヘッダー/コンテンツをクリアしてファイルを送信する前に、ブラウザーにコンテンツが書き込まれたかどうかを検出できるようにしたいと考えています。バイト。ヘルパー メソッドを呼び出すページが正しく設定されていない場合、「通常の」ページ ヘッダーとコンテンツがブラウザーに送信されてから、応答全体を表示し、ファイル データから新たに開始します。では、データがすでに送信されているかどうかを確認する方法はありますか?
基本的に、この例では偽のプロパティ BytesSent のようなものを探しています。
if (response.BytesSent == 0)
{
response.ClearHeaders();
response.ClearContent();
response.Clear();
response.ContentType = "application/octet-stream";
response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
response.AppendHeader("Content-Length", new FileInfo(path).Length.ToString());
//
// etc. (stream the file)
//
}
else
{
// throw an exception (or handle the problem in some other way)
}