Domanda

Ho un'applicazione Webform ASP.NET (3.5 SP1) su cui sto lavorando e sto tentando di abilitare gzip fpr HTML e CSS che arrivano in futuro.sto usando questa implementazione (e ne ho provati alcuni altri che si collegano a Application_BeginRequest), e sembra che stia corrompendo il file CSS esterno utilizzato dalle pagine, ma a intermittenza... all'improvviso tutti gli stili scompariranno all'aggiornamento della pagina, rimarranno così per un po', e poi ricominciare improvvisamente a funzionare.

Sia IE7 che FF3 mostrano questo comportamento.Quando si visualizza il CSS utilizzando la barra degli strumenti dello sviluppatore web, restituisce un messaggio incomprensibile.L'intestazione del controllo della cache risulta essere "privata", ma non ne so abbastanza per capire se questo è un fattore che contribuisce o meno.

Inoltre, è in esecuzione sul server di sviluppo ASP.NET.Forse andrebbe bene con IIS, ma sto sviluppando su XP e sarebbe IIS5.

È stato utile?

Soluzione

Sono solo i file CSS che vengono danneggiati?I file JS (o qualsiasi altro file di testo statico) arrivano correttamente?

Inoltre puoi duplicare il comportamento se navighi direttamente nel file CSS?

Ho abilitato la compressione solo sull'IIS del server Windows 2003 utilizzando questo approccio:

  1. IIS → Siti Web → Proprietà → scheda Servizio, seleziona entrambe le caselle
  2. IIS → Estensioni servizio Web → Fare clic con il pulsante destro del mouse, Aggiungi nuovo
      Name
          Http Compression 
      Required Files
          %systemroot%\system32\inetsrv\gzip.dll 
  3. IIS → Fare clic con il pulsante destro del mouse sul nodo superiore, Internet Information Services, selezionare Abilita la modifica diretta della metabase
  4. Backup e modifica %systemroot%\system32\inetsrv\MetaBase.xml
    1. Trovare Location ="/LM/W3SVC/Filters/Compression/gzip"
      • Aggiungere png, css, js e qualsiasi altra estensione di file statico a HcFileExtensions
      • Aggiungere aspx e qualsiasi altra estensione eseguibile a HcScriptFileExtensions
      • Salva
  5. Riavvia IIS (esegui iisreset)

Se hai un server Windows 2003/2008 con cui giocare, potresti provare questo approccio.

Altri suggerimenti

Se eseguirai la distribuzione su IIS 6 o IIS 7, utilizza semplicemente la compressione IIS integrata.Lo utilizziamo sui siti di produzione per comprimere HTML, CSS e JavaScript senza errori.Inoltre, memorizza nella cache la versione compressa sul server, quindi l'hit di compressione viene effettuato solo una volta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top