c# - Deflate Compression Stream 可以插入预压缩数据。 .NET 库是否存在?

标签 c# .net compression deflate

我正在为 Web 内容实现 Deflate 和 GZip 压缩。 .NET Framework DeflateStream 的性能非常好(它的压缩效果不如 SharpZipLib,但速度要快得多)。不幸的是,它(以及我知道的所有其他库)缺少一个函数来写入像 stream.WritePrecompressed(byte[] buffer) 这样的预压缩数据。

有了这个函数,就可以在流中插入预压缩 block 。这可以减少压缩这部分的 cpu 负载并增加 Web 服务器的总吞吐量。

是否有任何托管库能够执行此操作?或者除了 ComponentAce 的 ZLIB.NET 之外,还有什么好的起点可以做到这一点吗?

最佳答案

另一种方法是刷新 deflater 流(也可能关闭它),以保证所有缓冲的压缩数据都写入输出流,然后只需将预压缩数据写入底层输出流,然后重新打开deflater 流再次位于输出流之上。

关于c# - Deflate Compression Stream 可以插入预压缩数据。 .NET 库是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1410533/

相关文章:

c# - msbuild 版本 - 必须具备的功能

c# - Entity Framework 、存储库模式、工作单元和测试

c# - 使用 SSL 的网络请求

C# MemoryStream 大于 FileStream

c++ - 什么是测试文件以查看其是否为 zip 文件的好方法?

c# - 使用 SmtpClient 类通过 ASP.NET 网站将电子邮件发送到 MX 记录

.net - 避免硬编码 SQL 语句的最佳策略是什么

c# - C# 对象在不可访问时是否从内存中删除

html - 网络上 4 分钟的视频的合理文件大小是多少?

c# - 运行存储过程时无法解释的超时