2010-03-25 10 views
5

Estoy teniendo problemas para conseguir el contenido dinámico procedente de un controlador personalizado para ser comprimido por IIS 7.iis7 comprimen el contenido dinámico de controlador personalizado

Nuestro manejador escupe datos JSON (Content-Type: application/json; charset = UTF-8) y responde a las uRL como: domain.com/example.mal/OperationName?Param1=Val1 & Param2 = Val2

En IIS 6, todo lo que tenía que hacer era poner la edición del MetaBase.xml y en el elemento IIsCompressionScheme asegúrese de que el atributo HcScriptFileExtensions tenga la extensión personalizada 'mal' incluida en él.

La compresión estática y dinámica se produce en el nivel del servidor y del sitio web. Puedo confirmar que las páginas .aspx normales están comprimidas correctamente. El único contenido que no puedo haber comprimido es el contenido que proviene del controlador personalizado.

me han tratado las siguientes configuraciones sin éxito:

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

Gracias de antemano por la ayuda.

Respuesta

5

parece que es un error en la compresión de IIS. que tenía que añadir la siguiente línea al archivo applicationHost.config (bajo compresión http) en lugar del web.config

 <dynamicTypes> 
      <add mimeType="application/json; charset=utf-8" enabled="true" /> 
     </dynamicTypes> 

encontró un poco de ayuda extra desde aquí: http://forums.iis.net/p/1162828/1925766.aspx

+2

1, pero se debe mencionar el diferencia que hace 'charset = utf-8', necesaria debido al error de análisis de IIS mencionado en el hilo al que se vincula – orip

Cuestiones relacionadas