MEF を使用して xaps をダウンロードする Silverlight アプリケーションがあります。誰も xaps に到達できないように、呼び出しのヘッダーに認証トークンを入れたいと思います。このようなもの:
catalog = new DeploymentCatalog(_uri);
catalog.AddHeader(_header);
catalog.DownloadAsync();
唯一の問題は、AddHeader メソッドがないことです。
MEF を使用して xaps をダウンロードする Silverlight アプリケーションがあります。誰も xaps に到達できないように、呼び出しのヘッダーに認証トークンを入れたいと思います。このようなもの:
catalog = new DeploymentCatalog(_uri);
catalog.AddHeader(_header);
catalog.DownloadAsync();
唯一の問題は、AddHeader メソッドがないことです。
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
ます。