![]() |
1
14
尝试添加“应用程序/soap+xml”;charset=utf-8'作为applicationHost中的动态类型。添加这个字符集部分帮助我对http处理程序中的一些JSON响应启用压缩。 |
![]() |
2
10
这与@marko的答案基本相同——有详细的步骤。这是一个令人沮丧的话题,每次我重温它,所以我想概述我需要做的一切,以使其工作。
你现在应该有压缩数据了——可以在 Fiddler. |
![]() |
3
1
我也一直在努力解决这个问题,但无法让它与我的电脑配合使用。svc,尽管这对我来说很好。同一应用程序中的aspx文件。事实证明,它只适用于 基本绑定 而不是 wsHttpBinding 还是二进制编码 定制绑定 这对我来说很好,因为压缩因子比二进制编码器的优势更大(它将消息大小减少了相当多,但不是压缩给出的10倍)。 |
![]() |
4
0
最好的办法是评估您遇到问题的特定mime类型(例如Fiddler),并确保该类型包含在applicationHost中。配置。如果正确安装和配置了压缩,则失败的请求跟踪将让您知道压缩不是以“无匹配内容类型”的配置执行的。 |
![]() |
5
0
mime类型最有可能是
|
![]() |
6
0
只为那些可能展望未来的人。我们升级到Windows 2012 server和IIS 8。用于IIS 7的旧配置压缩模拟类型不适用于IIS 8。
所以,我在这里尝试了一些建议,但没有任何效果。最后,我把这个添加到了httpcompression动态类型中:
|
![]() |
7
0
很多人都在努力为WCF服务启用IIS级别的压缩。主要是人们在wsHttpBinding上苦苦挣扎,如果IIS中启用了动态压缩,basicHttpBinding会立即进行压缩。我不打算讨论如何启用动态压缩,因为它在许多不同的帖子中都有介绍,只需搜索 “iis压缩应用程序/soap+xml” .如前所述,如果您正确配置了所有内容,您应该能够看到使用压缩的WCF响应 内容编码:gzip 在响应标题中。我建议使用Fiddler跟踪您的请求/响应。这是我(任何其他人)使用basicHttpBinding的经验。接下来的问题是,为什么它不能与wsHttpBinding一起工作?毫无疑问,你已经读到这是因为 内容类型 这两个绑定之间是不同的。basicHttpBinding的用途 内容类型:text/xml;字符集=utf-8 wsHttpBinding使用的 内容类型:应用程序/soap+xml;字符集=utf-8 。默认IIS应用程序主机将覆盖前者。dynamicTypes下的配置设置。后者并非如此。您可能读到需要添加这个额外的mimeType并重新启动IIS来修复这个问题。这对一些人有效,但对很多人无效。一些人宣称它与wsHttpBinding不兼容。问题就在这里。有可能 二 应用程序主机。配置文件:
System32是64位的,是安装IIS时使用的。这也是一个你已经修改添加额外的mimeType到,或者你认为! cannot manually edit applicationhost.config - MUST READ 事实证明,如果使用Notepad++等32位应用程序,最终修改的是SysWOW64文件夹中的文件。这对你来说是完全透明的。如果您使用常规记事本应用程序,您会注意到,您添加的mimeType实际上不在System32文件夹中的文件中,它神奇地添加到了SysWOW64文件夹中,尽管您从未真正浏览过该文件夹。希望这能帮你省去很多时间的悲伤。 |
![]() |
8
0
如果有人在Azure中作为WebApp托管时偶然发现了这一点,您可以配置applicationHost。在“扩展”下使用azure门户,使用名为“IIS管理器”的扩展进行配置。更多关于扩展本身的信息 https://github.com/shibayan/IISManager |