0

ページ (IE) 上の Microsoft Media Player オブジェクトが .aspx Web ページの要求を発行している ASP.NET Web アプリケーションがあります。TransmitFileオーディオファイルを送り返すために使用するページで。ほとんどの場合、これで問題なく動作します。

ただし、場合によっては (IE バージョンと特定のクライアントの組み合わせで、少なくとも私が見る限り)、まったく同じ URL で 2 番目の要求が発行されます。最初のリクエストと 2 番目のリクエストの唯一の違いは、ユーザー エージェントの値です。最初のリクエストには がUser-Agent: Windows-Media-Player/9.00.00.4508あり、2 番目のリクエストにはUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

この 2 番目の要求により、音声ファイルがネット経由で 2 回送信されますが、これは無駄です。これは私が避けようとしているものです。

ここで関連する質問がありましたが、この場合、Range リクエストはありません。これはまったく同じ要求です (ユーザー エージェントを除いて同じヘッダー)。

私は、すべての種類の HTTP ステータス応答 (304、404、500 など) で (ヘッダーのユーザー エージェントに基づいて) 2 番目の応答を抑制しようとしていました。 Fiddler は最初の要求で転送されたことを示しますが、Media Player はオーディオを再生しません)。

可能であれば、2 番目のリクエストを回避するようにブラウザを「説得」したいと思います。2 番目のオプションとして、再生を中断しない 2 番目の要求への応答を見つけたいと思いますが、オーディオ バッファー全体の送信は避けます。

4

2 に答える 2

0

完全なヘッダーダンプを提供してください。両方のリクエストがGETリクエストであると確信していますか?最初のリクエストは、キャッシュされたバージョンが十分かどうかを確認することかもしれません。

2番目の考え:キャッシュチェックを抑制するために「expires」ヘッダーを返そうとします。

于 2010-10-18T11:39:24.643 に答える
0

これまでのところ、メディアを検出したときに何かを実行しようとするプラグイン/ツールバーがインストールされている可能性があります。

VLC は Firefox に対してそのようなことを行うと思います。また、Firefox 用の「ビデオ ダウンローダー」の種類のアドオンが多数あることを知っています。IE 用に作成された同等のものがあるかもしれません。

問題が発生しているクライアントに、アドオンのリストを提供するように依頼することができます ( Tools -> Manage Add-onsIE8 にある必要があります)。

お役に立てれば : )

編集:もう 1 つ確認できることは、サイトで互換モードを有効にして、何かが変わるかどうかを確認するよう依頼することです。

于 2010-10-15T23:21:12.310 に答える