6 Stimmen

Statische Komprimierung in IIS funktioniert nicht für htm- und js-Dateien

Ich versuche, IIS 7.5 so zu konfigurieren, dass statische htm- und js-Dateien komprimiert werden. Weiß jemand, warum das bei mir nicht funktioniert? Hier ist meine web.config für die Website:

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

Die Komprimierung beginnt zu funktionieren, wenn ich doDynamicCompression auf true setze. Aber ich kann diese Option nicht verwenden, weil sie bei meinem Hosting deaktiviert ist.

Ich danke Ihnen.

3voto

Tim P. Punkte 2853

Wie kommen Sie darauf, dass die Kompression nicht funktioniert? Überprüfen Sie die Protokolle der Ereignisanzeige. Das Modul Static Compression gibt manchmal einen Fehler aus, der besagt, dass das verwendete Verzeichnis ungültig ist (meistens, weil es Schreibrechte benötigt).

Überprüfen Sie mit Fiddler oder einem anderen HTTP-Debugging-Tool, ob der Client "Accept-Encoding" von GZIP/Deflate sendet.

2voto

takepara Punkte 10333

Aktivieren von Http-Caching und Komprimierung in IIS 7 für asp.net-Websites - Anil Kasalanati

Wie wäre es damit? Überprüfen Sie Ihre Datei applicationHost.config.

2voto

JNappi Punkte 1485

Ich habe den mimeType="application/x-javascript" aus den dynamicTypes entfernt, ihn aber in den staticTypes belassen. Das erlaubte mir, dynamicCompression zu deaktivieren, aber immer noch javascript komprimiert haben.

Ich habe einige Beiträge gelesen, die darauf hindeuten, dass, wenn Sie den gleichen mimeType in dynamischen und statischen haben, der Wert in dynamischen gewinnt. Wenn dynamicCompression ist aus, aber es gibt eine Übereinstimmung für sie in der dynamicTypes, Javascript wird als dynamisch und daher aus behandelt.

Das erklärt aber nicht, warum CSS funktioniert, weil mimeType="text/ " steht an beiden Stellen. Der IIS muss besser in der Lage sein, zwischen dynamischen und statischen Inhalten zu unterscheiden, wenn es um CSS oder andere Texte geht. .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X