2017-08-24 1 views
0

Ich habe eine ASP.NET-Website, die ich versuche statische Komprimierung für zu aktivieren. Meine Website hat die folgende Komprimierungskonfiguration.IIS statische Komprimierung nicht Gzip oder Cache-Dateien

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" staticCompressionEnableCpuUsage="0" staticCompressionDisableCpuUsage="100" staticCompressionIgnoreHitFrequency="true"> 
    <clear/> 
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="10" dynamicCompressionLevel="3" /> 
    <scheme name="deflate" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="10" dynamicCompressionLevel="3" /> 
    <staticTypes> 
    <clear/> 
    <add mimeType="text/*" enabled="true" /> 
    <add mimeType="message/*" enabled="true" /> 
    <add mimeType="application/x-javascript" enabled="true" /> 
    <add mimeType="application/javascript" enabled="true" /> 
    <add mimeType="*/*" enabled="false" /> 
    </staticTypes> 
</httpCompression> 
<urlCompression doStaticCompression="true" doDynamicCompression="false" dynamicCompressionBeforeCache="false" /> 

ich nicht dynamische Kompression aktiviert werden soll. Nach Microsoft documentation,

Im Gegensatz zu statischer Kompression, IIS 7 führt eine dynamische Kompression jedes Mal, wenn ein Kunde den Inhalt anfordert, aber die komprimierte Version auf der Festplatte nicht zwischengespeichert wird.

Mein Webserver ist ziemlich stark mit Prozessen belastet, so dass dies eine unerwünschte Belastung wäre. Durch statische Komprimierung ist attraktiv, weil die komprimierten Dateien auf der Festplatte zwischengespeichert werden.

Aber auch nach dem kontinuierlichen Auffrischen der Seite localhost (Strg + F5) und Warten auf 15 + Minuten beim Ansehen des Komprimierungsverzeichnisses wird nichts zwischengespeichert.

Außerdem wird keine der relevanten Dateien (css/js/html) mit einem gzip-Komprimierungsheader zurückgegeben.

Sowohl dynamische als auch statische Komprimierung sind installiert. Die Dynamik ist ausgeschaltet. Wenn ich die dynamische Komprimierung aktiviere, sehe ich, dass die HTTP-Antwort-Header von gzip zurückkommen.

Was fehlt mir? Warum weigert sich die statische Komprimierung zu arbeiten?

IIS 10

Antwort

0

Haben Sie bei ausgesehen: https://blogs.msdn.microsoft.com/friis/2017/09/05/iis-dynamic-compression-and-new-dynamic-compression-features-in-iis-10/

Theres nicht viel Kontext aus Ihrer Frage zu sehen ... aber für mich gearbeitet.

Im Cache von asp.net mvc, weil es ein Bündel von mehreren js-Dateien ist. Ich denke, der IIS kann sehen, dass es keine statische Datei auf der Festplatte ist, deshalb ist es dynamisch.

Dort auch zu sehen, welche ID tatsächlich mit Ihrer js-Datei tut, um herauszufinden, warum es keine Komprimierung in dem Link macht, den ich gepostet habe.

Ich sah auch eine Linie in den Link Sie auf dem Laufenden:

Im Gegensatz zu statischen Kompression, IIS 7 führt eine dynamische Kompression jedes Mal, wenn ein Kunde den Inhalt anfordert, aber die komprimierte Version auf der Festplatte nicht zwischengespeichert wird. Diese Änderung wird aufgrund des primären Unterschieds zwischen statischem und dynamischem Inhalt vorgenommen. Der statische Inhalt ändert sich nicht. Dynamischer Inhalt ist jedoch normalerweise Inhalt, der von einer Anwendung erstellt wird und daher häufig geändert wird, z. B. Active Server Pages (ASP) oder ASP.NET-Inhalt. Da sich dynamischer Inhalt häufig ändern sollte, wird er von IIS 7 nicht zwischengespeichert.

auch versuchen, diesen Beitrag zu lesen: https://forums.iis.net/t/1071156.aspx