2013-07-15 38 views
2

我在使用Sitecore MVC 3渲染和GZip內容壓縮時遇到問題。Sitecore MVC - gzip壓縮錯誤

我跟着John West的博客文章how to enable MVC in Sitecore

到目前爲止,它完美的工作,頁面呈現。但是,如果我在IIS上運行頁面並啓用內容壓縮(gzip),則頁面不會加載。我在Firefox中收到「內容編碼錯誤」。其他瀏覽器顯示各種錯誤消息。

有人遇到過類似的問題嗎?你有什麼想法可能是什麼問題?我應該從哪裏開始檢查?我必須在頁面上使用壓縮。

我們正在使用Sitecore 6,Update 5:「Sitecore 6.6.0 rev。130404」 這可能是一個Sitecore錯誤?

編輯1:我也在Sitecore實例上運行ASP.NET WebForms,它在gzip壓縮時也能正常工作。

編輯2:我有'dynamicCompressionBeforeCache'啓用。我的web.config有關gzip的配置:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> 
    <dynamicTypes> 
    <add mimeType="text/*" enabled="true" /> 
    <add mimeType="message/*" enabled="true" /> 
    <add mimeType="application/javascript" enabled="true" /> 
    <add mimeType="*/*" enabled="false" /> 
    </dynamicTypes> 
    <staticTypes> 
    <add mimeType="text/*" enabled="true" /> 
    <add mimeType="message/*" enabled="true" /> 
    <add mimeType="application/javascript" enabled="true" /> 
    <add mimeType="*/*" enabled="false" /> 
    </staticTypes> 
</httpCompression> 
<urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="true" /> 
+0

請把你從web.config配置爲gzip。 –

回答

3

Sitecore的證實,他們可以重現該問題。設置dynamicCompressionBeforeCache =「true」時,由於某種原因,編碼無法正確工作。

一種解決方法是刪除此設置。應用dynamicCompressionBeforeCache =「false」後,它工作正常。

+0

你有沒有得到MVC壓縮工作?我遇到了同樣的問題。 –

+1

是的,現在壓縮工作通常很好,但我必須將設置設置爲false:dynamicCompressionBeforeCache =「false」 – manipurea

+0

謝謝!我做了同樣的事情,現在就可以工作。 –

2

你或許應該在你的web.config啓用gzip

<system.webServer> 
    <httpCompression directory="%SystemDrive%\inetpub\ 
temp\IIS Temporary Compressed Files"> 
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/> 
    <dynamicTypes> 
     <add mimeType="text/*" enabled="true"/> 
     <add mimeType="message/*" enabled="true"/> 
     <add mimeType="application/javascript" enabled="true"/> 
     <add mimeType="*/*" enabled="false"/> 
    </dynamicTypes> 
    <staticTypes> 
     <add mimeType="text/*" enabled="true"/> 
     <add mimeType="message/*" enabled="true"/> 
     <add mimeType="application/javascript" enabled="true"/> 
     <add mimeType="*/*" enabled="false"/> 
    </staticTypes> 
    </httpCompression> 
    <urlCompression doStaticCompression="true" doDynamicCompression="true"/> 
</system.webServer> 

這裏有一些更多的花樣 Setting the gzip compression in asp.net

+0

感謝您的回答!我在web.config中已經有了「urlCompression」元素。我嘗試添加httpcompression部分,但沒有任何更改。 WebForms頁面可以正常工作,並且可以正確壓縮。我在您提供的鏈接中沒有找到任何其他內容。 – manipurea