一連の Web サイトを既存の IIS5 サーバーから新しい IIS7 Web サーバーに移行しています。ページの 1 つは、データベース内の BLOB からデータ ファイルをプルし、それをエンド ユーザーに提供します。
Response.ContentType = rs("contentType")
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("docName"))&rs("suffix")' let the browser know the file name
Response.AddHeader "Content-Length", cstr(rs("docsize"))' let the browser know the file size
新しい IIS7 インストールでこれをテストすると、Internet Explorer と Firefox の両方で「接続のリセット」エラーが発生します。Content-Length ヘッダーが削除されている場合、ドキュメントは正しく提供されます (ただし、ユーザーは有用な進行状況バーを取得できません)。
これを修正する方法についてのアイデア; サーバー構成オプションかコード経由か?
編集1:もう少し試行錯誤しました。「Enable Buffering」と「Enable Chunked Encoding」の両方が false の場合、リクエストは成功します。どちらかが有効になっていると、エラーが発生します。
編集 2:さらなる試行錯誤のテスト。テキスト ファイルはスクリプトで正常に動作することがわかりました。バイナリ ファイル (画像、PDF など) のみが失敗します。そうでなければ、まだ完全に無知です。