【发布时间】:2016-04-23 15:38:46
【问题描述】:
我已使用此 URL 进行 Web API 压缩,但是当我看到提琴手标头中的输出不是 zip 时。有多个 Zip 选项可用,例如 GZIP、BZIP2 DEFLATE 不确定使用哪一个,请在此处提供帮助
我尝试了以下解决方案,但它们都不起作用:
【问题讨论】:
标签: asp.net-web-api asp.net-web-api2 gzip
我已使用此 URL 进行 Web API 压缩,但是当我看到提琴手标头中的输出不是 zip 时。有多个 Zip 选项可用,例如 GZIP、BZIP2 DEFLATE 不确定使用哪一个,请在此处提供帮助
我尝试了以下解决方案,但它们都不起作用:
【问题讨论】:
标签: asp.net-web-api asp.net-web-api2 gzip
有多个 Zip 选项可用,例如 GZIP、BZIP2 DEFLATE 不确定使用哪一个,请在此处提供帮助
这个列表将被发送到服务器,让它知道客户端关于压缩的偏好。这意味着“我首先更喜欢 GZIP。如果服务器端不支持 GZIP,则回退到 BZIP2 DEFLATE 压缩。如果不支持 BZIP2 DEFLATE,则服务器将不会进行任何压缩。”
有人已经创建了一个 nuget 包,该包使用您刚刚提出的问题。包名是Microsoft.AspNet.WebApi.MessageHandlers.Compression,其中安装了以下两个包:
如果您不需要客户端库,则只需要 Web API 项目中的服务器端包。
要使用它,您需要修改以在 Gloabl.asax.cs 中 Application_Start 方法的末尾添加以下行:
GlobalConfiguration.Configuration.MessageHandlers.Insert(0, new ServerCompressionHandler(new GZipCompressor(), new DeflateCompressor()));
要了解有关此软件包的更多信息,请查看此link。
【讨论】: