1
我有一个silverlight应用程序,使用MEF下载xaps。我想在授权标头中放入一个授权令牌,以便任何人都无法进入xps。类似这样的:如何将标题添加到MEF调用
catalog = new DeploymentCatalog(_uri);
catalog.AddHeader(_header);
catalog.DownloadAsync();
唯一的问题是没有AddHeader方法。
我有一个silverlight应用程序,使用MEF下载xaps。我想在授权标头中放入一个授权令牌,以便任何人都无法进入xps。类似这样的:如何将标题添加到MEF调用
catalog = new DeploymentCatalog(_uri);
catalog.AddHeader(_header);
catalog.DownloadAsync();
唯一的问题是没有AddHeader方法。
DeploymentCatalog
使用WebClient
在引擎盖下,但似乎没有以任何方式暴露它。
有一个源的副本here(由于某些原因无法在CodePlex上找到它)。 WebClient
使用URI来执行异步下载。完成后,该响应将用于使用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
,或什么的。