1
我爲我的asp.net核心1應用程序啓用了響應壓縮中間件。我注意到,啓用後,我現在看到視圖響應具有內容編碼g-zip,因此它適用於html。用於靜態文件的.NET核心響應壓縮中間件
但是,我試圖啓用它,以便從項目的wwwroot請求的靜態文件也發送g-zip。例如在視圖頭部或css文件中引用的js文件。目前這還不行,因爲我發現這些文件沒有發送g-zip的內容編碼。是否有可能做我想做的事情,還是中間件在從wwwroot請求資產時沒有啓動?下面的代碼中配置服務:
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;
});
代碼配置:
app.UseResponseCompression();
我也使用useStaticFiles() - 不知道這會如何影響我嘗試用壓縮做。
也許這是你的中間件的順序,你以前'UseResponseCompression'了'UseStaticFiles'?嘗試顛倒它們。 – DavidG
是的,認爲這可能會導致問題? – user3427689
哪個是之前?中間件按您在代碼中指定的順序執行。因此,您可能需要在添加靜態文件之前添加壓縮。 – DavidG