IIS 似乎没有压缩 ashx 创建的响应

IIS does not seem to be compressing response created by ashx

我有一个 ashx 处理程序,响应未压缩。客户端收到的content-encoding为空

站点的 IIS 设置启用了静态和动态压缩。

类似问题的研究表明,有人在 IIS 配置编辑器的 Web 服务器节点中有一个 httpCompression 节点。我没有这样的节点。我有一个 url 压缩节点,我已将所有内容都设置为 true。也许这取决于 IIS 版本。操作系统是Windows Server 2008 R2.

我将尝试使用过滤器 属性 和 GZipstream class 进行 "force" 压缩(归功于 Rick Strahl 的博客)。如果有人能告诉我为什么 IIS 不是 "auto compressing" 或者能指出我的解决方法中的任何问题,我将不胜感激。

更新:GzipStream 附加到响应过滤器将客户端看到的内容长度减少了一半,这似乎表明 "manual" 压缩正在做某事。

我知道之前有人在这里问过这个问题:

.ashx handler not getting gzip compressed despite IIS Config setting

但是之前的问题没有得到任何答案,所以我再次提出这个问题。

请检查您在发出 HTTP 请求时是否在请求 headers 中添加 Accept-Encoding", "gzip"。