Frage

Ich arbeite gerade an einer ASP.NET-Webforms-Anwendung (3.5 SP1) und versuche, gzip für HTML und CSS zu aktivieren, die gerade verfügbar sind.Ich benutze diese Umsetzung (und habe ein paar andere ausprobiert, die sich in Application_BeginRequest einbinden), und es scheint die externe CSS-Datei zu beschädigen, die die Seiten verwenden, aber zeitweise ... plötzlich verschwinden alle Stile bei einer Seitenaktualisierung, bleiben eine Weile so und dann plötzlich wieder anfangen zu arbeiten.

Sowohl IE7 als auch FF3 zeigen dieses Verhalten.Beim Anzeigen des CSS über die Webentwickler-Symbolleiste wird Kauderwelsch zurückgegeben.Der Cache-Control-Header kommt als „privat“ durch, aber ich weiß nicht genug, um herauszufinden, ob das ein Faktor ist oder nicht.

Dies läuft auch auf dem ASP.NET Development Server.Vielleicht wäre es mit IIS in Ordnung, aber ich entwickle unter XP und es wäre IIS5.

War es hilfreich?

Lösung

Werden nur CSS-Dateien beschädigt?Kommen JS-Dateien (oder andere statische Textdateien) in Ordnung?

Können Sie das Verhalten auch duplizieren, wenn Sie direkt zur CSS-Datei navigieren?

Ich habe die Komprimierung nur auf dem IIS des Windows 2003-Servers mit diesem Ansatz aktiviert:

  1. IIS → Websites → Eigenschaften → Registerkarte „Dienst“ und aktivieren Sie beide Kontrollkästchen
  2. IIS → Webdiensterweiterungen → Rechtsklick, Neu hinzufügen
      Name
          Http Compression 
      Required Files
          %systemroot%\system32\inetsrv\gzip.dll 
  3. IIS → Rechtsklick auf den obersten Knoten, Internetinformationsdienste, prüfen Aktivieren Sie die direkte Metabasisbearbeitung
  4. Sichern und Bearbeiten %systemroot%\system32\inetsrv\MetaBase.xml
    1. Finden Location ="/LM/W3SVC/Filters/Compression/gzip"
      • Hinzufügen png, css, js und alle anderen statischen Dateierweiterungen HcFileExtensions
      • Hinzufügen aspx und alle anderen ausführbaren Erweiterungen zu HcScriptFileExtensions
      • Speichern
  5. IIS neu starten (ausführen iisreset)

Wenn Sie einen Windows 2003/2008-Server zum Spielen haben, können Sie diesen Ansatz ausprobieren.

Andere Tipps

Wenn Sie die Bereitstellung auf IIS 6 oder IIS 7 durchführen, verwenden Sie einfach die integrierte IIS-Komprimierung.Wir verwenden es auf Produktionsstandorten, um HTML, CSS und JavaScript fehlerfrei zu komprimieren.Außerdem wird die komprimierte Version auf dem Server zwischengespeichert, sodass der Komprimierungstreffer nur einmal erfasst wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top