2017-08-24 2 views
0

J'ai un site Web ASP.NET pour lequel j'essaie d'activer la compression statique. Mon site Web a la configuration de compression suivante.La compression statique IIS ne gache pas ou ne cache pas les fichiers

<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" /> 

Je ne pas veulent activer la compression dynamique. A la différence de la compression statique, IIS 7 effectue une compression dynamique chaque fois qu'un client demande le contenu, mais la version compressée n'est pas mise en cache sur le disque. Mon serveur Web est assez lourdement chargé de processus, donc ce serait un fardeau indésirable. Par compression statique est attrayant parce que les fichiers compressés sont mis en cache sur le disque.

Cependant, même après l'actualisation continue de la page localhost (Ctrl + F5) et l'attente de 15 + minutes en regardant le répertoire de compression, rien n'est mis en cache.

De plus, aucun des fichiers pertinents (css/js/html) n'est retourné avec un en-tête de compression gzip.

La compression dynamique et statique est installée. La dynamique est désactivée. Si j'active la compression dynamique, je commence à voir les en-têtes de réponse HTTP gzip revenir.

Qu'est-ce qui me manque? Pourquoi la compression statique refuse-t-elle de fonctionner?

IIS 10

Répondre

0

Avez-vous regardé ceci: https://blogs.msdn.microsoft.com/friis/2017/09/05/iis-dynamic-compression-and-new-dynamic-compression-features-in-iis-10/

Theres pas beaucoup à voir contexte de votre question ... mais pour moi cela a fonctionné.

Mis en cache par asp.net mvc, car il s'agit d'un ensemble de plusieurs fichiers js. Je suppose que l'IIS peut voir que ce n'est pas un fichier statique sur le disque, c'est la raison pour laquelle c'est dynamique.

Il est également utile de voir ce que fait réellement id avec votre fichier js pour savoir pourquoi il ne fait pas de compression dans le lien que j'ai posté.

J'ai vu aussi une ligne dans le lien que vous avez affichée:

Contrairement à la compression statique, IIS 7 effectue une compression dynamique à chaque fois qu'un client demande le contenu, mais la version compressée n'est pas mis en cache sur le disque. Cette modification est effectuée en raison de la principale différence entre le contenu statique et dynamique. Le contenu statique ne change pas. Cependant, le contenu dynamique est généralement un contenu créé par une application et, par conséquent, souvent modifié, tel que le contenu ASP (Active Server Pages) ou ASP.NET. Étant donné que le contenu dynamique doit changer souvent, IIS 7 ne le met pas en cache.

Essayez également de lire cet article: https://forums.iis.net/t/1071156.aspx