私はいくつかのレガシーコードを見直していますが、レスポンスが無期限に存在するバグを発見しました。私の応答ヘッダーにContent-Lengthを設定する必要はありますか?
Response.Content-Type = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename" & someFileName)
Response.AddHeader("Content-Length", someStoredLength)
Response.BinaryWrite(someByteArray)
Response.Flush()
Response.End()
問題はsomeStoredLengthがsomeByteArrayの実際のサイズよりもはるかに大きいということですので、クライアントは単にブラウザだけでスピンしながら、ファイルのダウンロードを待ってそこに座っている:
は、ここで基本的な考え方です。
コンテンツの長さを指定するAddHeaderを削除することを検討しています。これを行うとすべてうまくいくようですが、何かを理解していないと心配しています。
このAddHeaderを削除しても問題ないですか、この問題に対処するより良い方法を見つけ出すべきですか?
これは何語ですか?上記のコードでResponseオブジェクトはどのようなクラスですか? – noctonura
@RichAmberale:それは本当に質問には関係ありません。この問題は、HTTPヘッダーのためにブラウザで発生します。 –
コードはVB.NETにありますが、これは、従来のASPの古典で行われている他の場所で見つけることができます – Joseph