当社のシステムは、ネットワーク接続が不安定または不十分な地域に展開するように設計されています。私たちは、 BITSを使用するフォールト トレラントなデータ レプリケーション サービスを独自に構築しています。
セキュリティとメンテナンスの要件により、IIS にファイルを提供させるだけでなく、独自の ASP.NET ファイル ダウンロード サービスをサーバー側に実装しました。BITS クライアントが指定された範囲のファイルで HTTP ダウンロード要求を行うと、ASP.NET ページは要求されたファイル セグメントをメモリに取り込み、それを HTTP 応答として提供します。それが理論です。;) この理論は人工実験室のシナリオでは失敗しますが、それを克服できない限り、システムを実際のシナリオに展開することはできません.
ラボ シナリオ: BITS クライアントと IIS を同じ開発者用コンピューターに配置しているため、実際には膨大なネットワーク "帯域幅" があり、BITS はそれを検出するのに十分なほどインテリジェントです。BITS クライアントが無制限の帯域幅を発見すると、ますます「貪欲」になります。各 HTTP 要求で、BITS はますます大きなファイル範囲 (CD iso ファイル、ビデオのダウンロードについて話している) を把握しようとし、1 つの HTTP 要求内で 20 ~ 40MB を要求します。サーバー側はそのまま。私は要求されたよりも少ないものを与えるだけでそれを克服することができます. 大丈夫です。
ただし、BITS は、ダウンロード範囲を指定せずに、本当に「自信を持って」「傲慢に」要求の厳しいファイルを取得します。つまり、ファイル全体を 1 回の要求で要求します。600MBのファイルの場合、その応答の仕方がわかりません。ファイルの最初の 1 MB の範囲を指定しただけでは、BITS クライアントはダウンロード範囲なしで同じファイルの HTTP 要求を送信し続け、ファイル全体を一度に取得したいという点を強調します。ファイル全体を提供するのは気が進まないので、BITS は試行錯誤の末にあきらめ、エラーを報告します。
何かご意見は?