1

バイナリが新しいバージョンであるかどうかを評価するために、すべてのバイナリをダウンロードしますか、それとも一部のみをダウンロードしますか?

4

1 に答える 1

1

つまり、すべてのバイナリを含むXAPを評価しますが、XAPのバージョンが変更されていない場合、変更は表示されません。

その方法についてもう少し詳しく説明します(ここから削除しましたが、歴史的な理由で貼り付けました)。

特徴:

•ネットワーク接続を検出します(場合によっては無残に失敗します…)

•インストール元の元の許可されたURLに接続します

•新しいXAPファイルをダウンロードし、現在のバージョンをマニフェストからダウンロードしたバージョンと比較します

•現在のSilverlightバージョンと新しいバージョンのSilverlightバージョンを検出します

•障害が発生した場合、「PlatformNotSupportedException」などの障害例外タイプが回復用に提供されます</ p>

制限:

•リクエストを中断することはできません。したがって、タイムアウトになると、それを待ちます。

•アップデートをダウンロードして、現在実行中のXAPをインストールして置き換えることをオプションにすることはできません。新しいバージョンを検出するためのフラグの方が良いでしょう。これにより、UIに現在のバージョンと利用可能な更新バージョンを表示できます。

•新しいXAPが署名されていない、新しいSilverlightバージョンである、またはその他のさまざまなエラーなど、いくつかの理由で「UpdateAvailable」プロパティに対してfalseを返します。次に、エラーコレクションに配置されている可能性のあるすべてのエラークラスタイプを確認する必要があります。したがって、多数のトライキャッチが必要です。キャッチに考えられるすべてのエラータイプがある限り、try-catchesがその役割を果たします。実際のエラー理由の列挙型の方が良い場合があります。

•以前の安定バージョンに戻して、新しい不良バージョンにインストールさせることはできません。それは理にかなっていますが、実際の開発チームには、製品バージョンを更新する際の復旧計画があります。

于 2012-11-06T13:09:11.693 に答える