1

注: IIS 7.5 サーバーと asp.net を使用しています

私が尋ねる理由は、現在、Web アプリケーションの httpRuntime タイムアウトが 10 時間に設定されているためです。注: 途方もなく長いタイムアウトは、テスト目的のためのものです! IE 10 よりも内部タイムアウトがはるかに長いように見えるため、これは Chrome でうまく機能します。私の例では、ストリーミング プロセスを開始する前にサーバー上で大きなファイルを圧縮しています。これは、ブラウザが Web サーバーからのデータの受信を開始する前に、一定の時間待機する必要があることを意味します。1.2 GB のファイルの場合、ストリーミング プロセスが開始されるまでに約 7 分かかります。Chrome ブラウザはこれを問題なく処理できます.7 分後、ファイルのダウンロードが開始されます。ただし、IE 10 では、無限スピン モードになります。それは 1 時間後になる可能性があり、ストリーミングはまだ行われていません。これは、そこにあることを教えてくれます。明らかに、2 つのブラウザ間の何らかの内部タイムアウトの違いです。IE ブラウザを強制的に長時間開いたままにするために、IE ブラウザに送信できる http 応答コードはありますか? 助けていただければ幸いです!

4

1 に答える 1

0

この種の待機期間に依存するのは賢明ではありません。新しいバージョンごとに変更される可能性があるからです。

1 回の呼び出しで圧縮を開始し、ブラウザが 15 秒 (または任意の値) ごとにサーバーをポーリングして、圧縮が完了したかどうかを確認してみませんか。圧縮が完了したら、ストリーミングを開始します。このパターンは、JavaScript や ASP.NET でも非常に簡単に実装できます。

于 2013-07-27T19:46:22.393 に答える