我无法从IIS 7压缩来自自定义处理程序的动态内容。
我们的处理程序吐出json数据(Content-Type:application / json; charset = utf-8)并响应url,如下所示:domain.com/example.mal/OperationName?Param1=Val1&Param2=Val2 < / p>
在IIS 6中,我们所要做的就是编辑MetaBase.xml,并在IIsCompressionScheme元素中确保HcScriptFileExtensions属性中包含自定义扩展名“mal”。
静态和动态压缩在服务器和网站级别进行。 我可以确认正常的.aspx页面是否正确压缩。 我无法压缩的唯一内容是来自自定义处理程序的内容。
我尝试过以下配置但没有成功:
<handlers>
<add name="MyJsonService" verb="GET,POST" path="*.mal" type="Library.Web.HttpHandlers.MyJsonServiceHandlerFactory, Library.Web" />
</handlers>
<httpCompression>
<dynamicTypes>
<add mimeType="application/json" enabled="true" />
</dynamicTypes>
</httpCompression>
_
<httpCompression>
<dynamicTypes>
<add mimeType="application/*" enabled="true" />
</dynamicTypes>
</httpCompression>
_
<staticContent>
<mimeMap fileExtension=".mal" mimeType="application/json" />
</staticContent>
<httpCompression>
<dynamicTypes>
<add mimeType="application/*" enabled="true" />
</dynamicTypes>
</httpCompression>
提前感谢您的帮助。
答案 0 :(得分:5)
看起来它是IIS压缩中的一个错误。 我需要将以下行添加到applicationHost.config文件(在httpCompression下)而不是web.config
<dynamicTypes>
<add mimeType="application/json; charset=utf-8" enabled="true" />
</dynamicTypes>
从这里找到了一些额外的帮助:http://forums.iis.net/p/1162828/1925766.aspx