2010-03-25 11 views
5

Mam kłopot dynamicznych treści pochodzących z niestandardowej obsługi mają być kompresowane przez IIS 7.IIS7 kompresji dynamicznej zawartości z niestandardowej obsługi

Nasz obsługi wypluwa danych JSON (Content-Type: application/json; charset = UTF-8) i reaguje na uRL, który wygląda następująco: domain.com/example.mal/OperationName?Param1=Val1 & Param2 = wart2

W IIS 6, wszystko co musieliśmy zrobić, to umieścić tu edytować MetaBase.xml oraz w elemencie IIsCompressionScheme upewnij się, że atrybut HcScriptFileExtensions zawierał niestandardowe rozszerzenie "mal".

Kompresja statyczna i dynamiczna jest uruchamiana na poziomie serwera i witryny. Mogę potwierdzić, że normalne strony .aspx są skompresowane poprawnie. Jedyną treścią, której nie mogę skompresować, jest treść pochodząca z niestandardowego programu obsługi.

Próbowałem następujące configs bez powodzenia:

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

Dzięki z góry za pomoc.

Odpowiedz

5

wygląda na to, że jest to błąd w kompresji IIS. Musiałem dodać następującą linię do pliku ApplicationHost.config (pod httpCompression) zamiast web.config

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

znalezionego dodatkowej pomocy stąd: http://forums.iis.net/p/1162828/1925766.aspx

+2

+1, ale należy wspomnieć różnica, którą robi 'charset = utf-8', potrzebna z powodu błędu parsowania IIS wspomnianego w wątku, który łączysz – orip

Powiązane problemy