【问题标题】:Deflate (or similar) compression available for Silverlight 3?Silverlight 3 可用的 Deflate(或类似)压缩?
【发布时间】:2023-05-13 03:12:01
【问题描述】:

Silverlight 3 是否有任何与 .NET 兼容的 deflate 实现?

或者,除此之外,我可以使用任何可用于 .NET 和 Silverlight 的类似压缩算法吗?

我尝试了这个 LZW 示例:http://paste.lisp.org/display/12198,但不幸的是它效果不佳。

【问题讨论】:

    标签: .net silverlight silverlight-3.0 compression deflate


    【解决方案1】:

    Silverlight 可以从给定文件名的 zip 存档中提取文件。 .NET 能够创建 Zip 文件。因此,假设方向是服务器-> 客户端(听起来是这样),您可以使用此客户端代码:-

     WebClient client = new WebClient();
     client.OpenReadCompleted => (s, args)
     {
        StreamResourceInfo zipInfo = new StreamResourceInfo(args.Result, null);
        StreamResourceInfo streamInfo = Application.GetResourceStream(zipInfo, new Uri("myfile.dat", UriKind.Relative));
        YourFunctionToProcessTheDecompressedStream(streamInfo.Stream);
     }
     client.OpenRead(new Url("http://yourserver/somehandler.ashx"));
    

    “somehandler.ashx”可以获取一些输入流并将其作为“myfile.dat”存储在 zip 存档中,并将生成的 zip 发送到响应。

    【讨论】:

    • 哎,不错,这看起来很有前途!等我星期二上班再去看看。