【发布时间】:2017-02-06 19:30:01
【问题描述】:
我正在编写一个具有这种 POST 方法的 .Net Web Api (2)。此方法当前使用标准 JSON 格式化程序反序列化它的唯一参数。我们还在编写将使用此 Api 的 C# 客户端使用 System.Net.Http.HttpClient 进行通信的客户端。
可能会移动大量数据。这促使我们考虑减少请求的占用空间。
搜索此站点后,我发现了一些使用 gzip 压缩的替代方案。我已经有了一个可行的概念证明:
所以,我的问题...
我真的需要为此编写所有这些自定义代码吗?是否有一种内置方法可以减少请求的占用空间?
遇到的一些文章提到在 IIS 中启用 gzip(或 deflate)(请参阅 Enable IIS7 gzip)。这对我不起作用(我启用了它,我仍在客户端进行压缩,从服务器中删除了 DelegatingHandler ......但是什么也没有,我最终在控制器方法中得到了一个 null 参数)
【问题讨论】:
-
你找到解决这个问题的方法了吗??
-
没有开箱即用的东西。按照我在帖子中添加的链接,我最终实现了一个 DelegatingHandler,如果存在内容编码“gzip”标头,它会解压缩请求。 (覆盖 SendAsync)。
标签: asp.net-web-api2 gzip dotnet-httpclient gzipstream