【问题标题】:iis7 compress dynamic content from custom handleriis7 压缩来自自定义处理程序的动态内容
【发布时间】:2010-03-25 21:39:37
【问题描述】:

我在获取来自自定义处理程序以由 IIS 7 压缩的动态内容时遇到问题。

我们的处理程序输出 json 数据(内容类型:application/json;charset=utf-8)并响应如下所示的 url:domain.com/example.mal/OperationName?Param1=Val1&Param2=Val2

在 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>

提前感谢您的帮助。

【问题讨论】:

    标签: iis-7 dynamic compression httphandler


    【解决方案1】:

    看起来这是 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

    【讨论】:

    • +1,但你应该提到 charset=utf-8 所做的不同,因为你链接到的线程中提到的 IIS 解析错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 2011-08-02
    • 2012-02-02
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    相关资源
    最近更新 更多