1

MEF を使用して xaps をダウンロードする Silverlight アプリケーションがあります。誰も xaps に到達できないように、呼び出しのヘッダーに認証トークンを入れたいと思います。このようなもの:

catalog = new DeploymentCatalog(_uri);
catalog.AddHeader(_header);
catalog.DownloadAsync();

唯一の問題は、AddHeader メソッドがないことです。

4

1 に答える 1

1

DeploymentCatalogボンネットの下で使用しますWebClientが、それを公開しているようには見えません。

ここにソースのコピーがあります(何らかの理由で CodePlex で見つけることができませんでした)。URI はWebClient、非同期ダウンロードを実行するために使用されます。完了すると、応答を使用して、 を使用してアセンブリのコレクションを作成しますPackage.LoadPackagedAssemblies。これらのアセンブリを使用して構成が実行されます。

関連するコードの一部:

//the download
this.WebClient.OpenReadCompleted += new OpenReadCompletedEventHandler(HandleOpenReadCompleted);
this.WebClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(HandleDownloadProgressChanged);
this.WebClient.OpenReadAsync(Uri, this);

//composition on completion of async download
var assemblies = Package.LoadPackagedAssemblies(e.Result);
this.DiscoverParts(assemblies);

同じことを行うカスタム カタログを作成できますが、AddHeader メソッドを提供するか、または を公開しWebClientます。

于 2013-05-06T03:11:16.583 に答える