iis7压缩来自自定义处理程序的动态内容

时间:2010-03-25 21:39:37

标签: iis-7 dynamic compression httphandler

我无法从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>

提前感谢您的帮助。

1 个答案:

答案 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