2015-09-04 5 views
5

Ich habe eine ASP.NET-Anwendung, die auf einer azurblauen Website unter Verwendung der Standardschicht ausgeführt wird. Ich habe versucht, Gzip-Komprimierung zu bekommen, die daran arbeitet. Ich habe meine web.config Datei geändert und hinzugefügt die folgenden unter system.webServerGzip-Komprimierung auf Azure-Websites aktivieren

<urlCompression doStaticCompression="true" doDynamicCompression="true"/> 
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
    <dynamicTypes> 
     <add mimeType="text/*" enabled="true"/> 
     <add mimeType="message/*" enabled="true"/> 
     <add mimeType="application/javascript" enabled="true"/> 
     <add mimeType="application/x-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="application/x-javascript" enabled="true"/> 
     <add mimeType="*/*" enabled="false"/> 
    </staticTypes> 
</httpCompression> 

Dies funktioniert, wenn sie lokal mit IIS ausgeführt ausdrücken, aber funktioniert nicht, wenn auf azur Einsatz. Die Antwort enthält die folgenden Header.

Accept-Ranges:bytes 
Content-Length:5381 
Content-Type:text/css 
Date:Fri, 04 Sep 2015 20:44:01 GMT 
ETag:"56386b2e88dad01:0" 
Last-Modified:Wed, 19 Aug 2015 14:06:02 GMT 
Server:Microsoft-IIS/8.0 
X-Powered-By:ASP.NET 
+1

Ich denke, gzip-Komprimierung standardmäßig in Azure-Websites aktiviert ist. also sollten Sie keine zusätzlichen Konfigurationen benötigen ... http: //stackoverflow.com/questions/14722464/gzip-compression-in-windows-azure-websites – Aram

+0

Es funktioniert nicht standardmäßig für mich. Funktioniert auch nicht, wenn ich versuche, es zur web.config hinzuzufügen. – Jonathan

Antwort

3

Sie fehlt das <scheme> Element

<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> 

Mehr Infos hier:

https://www.iis.net/configreference/system.webserver/httpcompression/scheme

<urlCompression doStaticCompression="true" doDynamicCompression="true"/> 
<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="application/x-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="application/x-javascript" enabled="true"/> 
     <add mimeType="*/*" enabled="false"/> 
    </staticTypes> 
</httpCompression> 
+0

Ich hatte dies ursprünglich und endete damit, es während der Verwirrung mit der Konfig zu entfernen. Ich habe es gerade wieder hinzugefügt, aber es funktioniert nicht für mich. Es gibt immer noch kein Gippen. – Jonathan

+0

Wie testen Sie? Ich habe deinen Originalcode und meinen Code getestet und beide haben so funktioniert, wie es sein sollte. Ich musste nur die hinzufügen, damit es funktioniert. –

+0

Ich schaue auf die Header in der Antwort von der Website. Die Dateien haben auch die ursprüngliche Größe ohne Komprimierung. Ich sollte erwähnen, dass dieser Code ** funktioniert, wenn er lokal mit IIS Express ausgeführt wird, nur nicht auf azurblau. – Jonathan