ページ (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 番目の要求への応答を見つけたいと思いますが、オーディオ バッファー全体の送信は避けます。