J'ai activé le middleware de compression de réponse pour mon application asp.net core 1. J'ai remarqué qu'après avoir activé cela, je vois maintenant que la réponse de la vue a un encodage de contenu g-zip, donc ça fonctionne pour le HTML.Middleware de compression .NET Core Response pour les fichiers statiques
Cependant, j'essaie de l'activer afin que les fichiers statiques qui sont demandés à partir de wwwroot du projet soient également envoyés par g-zip. Par exemple un fichier js référencé dans la tête de la vue ou un fichier css. Cela ne fonctionne pas pour le moment car je vois que les fichiers sont envoyés sans encodage de contenu de g-zip. Est-il possible de faire ce que je veux faire, ou est-ce que l'intergiciel ne fonctionne pas lorsque je demande des actifs de wwwroot? Code ci-dessous dans les services de configure:
services.AddResponseCompression(options =>
{
options.Providers.Add<GzipCompressionProvider>();
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] {
"image/jpeg", "image/png", "application/font-woff2", "image/svg+xml"});
options.EnableForHttps = true;
});
services.Configure<GzipCompressionProviderOptions>(options =>
{
options.Level = CompressionLevel.Optimal;
});
Code dans Configurer:
app.UseResponseCompression();
J'utilise aussi useStaticFiles() - ne sais pas comment cela pourrait affecter ce que je suis en train de faire avec la compression.
Peut-être est l'ordre de votre middleware, vous avez '' UseStaticFiles' avant UseResponseCompression'? Essayez de les inverser. – DavidG
Ouais c'est avant, pensez que cela pourrait causer un problème? – user3427689
Qui est avant? L'intergiciel est exécuté dans l'ordre que vous spécifiez dans le code. Vous devrez donc peut-être ajouter de la compression avant d'ajouter des fichiers statiques. – DavidG