質問

一部のレガシーコードを確認していますが、応答が無期限に停止するバグが見つかりました。

基本的な考え方は次のとおりです。

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を削除しても大丈夫ですか?この問題に対処するためのより良い方法を見つけ出す必要がありますか?

役に立ちましたか?

解決

Content-Length行を次のように変更します。

Response.AddHeader("Content-Length", someByteArray.Length.ToString())

他のヒント

アプリケーション SHOULD (スクロールContent-Lengthまで)定義しますが、厳密に必須ではありません。

可能なオプションのきちんとした議論

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top