枚举StreamReaderInfo的内容

时间:2011-05-19 02:58:35

标签: silverlight zip

我可能在这里完全走错了路,我愿意接受建议。我有一个包含单个汇编二进制文件的zip文件,我正在动态下载到我的silverlight应用程序。

理想情况下,我不想在我的解决方案中包含额外的zip解压缩库,因此我希望使用与提取xap文件内容相同的逻辑。问题是:xap文件有AppManifest.xaml我可以查看以获取内容和每个文件的Uri。

任何人都可以建议使用StreamResourceInfo获取存储在zip文件中的唯一文件的Uri,或者任何人都可以提出更好的方法吗?

这是我决定Uri的逻辑。

public static void Load(string name, Action callback)
{
    var webclient = new WebClient();
    webclient.OpenReadCompleted += (o, e) =>
    {
        try
        {
            StreamResourceInfo zipInfo = new StreamResourceInfo(
                                             e.Result, "application/zip");

            string dllName = ** Something **

            StreamResourceInfo assemblyInfo = 
                   Application.GetResourceStream(
                          zipInfo, 
                          new Uri(dllName, UriKind.Relative)
                   );

            //yada yada 

        }
        catch
        {
        }
        finally
        {
            callback();
        }

    };

    var uri = new Uri(Application.Current.Host.Source, name);
    webclient.OpenReadAsync(uri);
}

1 个答案:

答案 0 :(得分:0)

这看起来非常类似于我正在尝试的动态下载...我还没有按照我的具体要求到达任何地方,但可能偶然发现了你的答案。

从本文中查看第4步 http://www.jebishop.com/2009/11/25/dynamic-theming-in-silverlight-with-implicit-styles-plus-custom-build-events/

当然这是下载的一个特定用法,你不需要全部,但它应该有帮助!