我有一个blazor应用程序,我用这种方式添加了文本压缩:
context.Services.AddResponseCompression(o =>
{
o.EnableForHttps = true;
});
// We use Brotli by default : https://docs.microsoft.com/en-us/aspnet/core/performance/response-compression?view=aspnetcore-3.1
//services.Configure<GzipCompressionProviderOptions>(o => o.Level = System.IO.Compression.CompressionLevel.Optimal);
context.Services.Configure<BrotliCompressionProviderOptions>(options =>
{
options.Level = CompressionLevel.Fastest;
});和
app.UseResponseCompression();当我检查我的浏览器时,似乎压缩被激活了:

现在,我测试了网站的速度,第一个建议是添加文本压缩。所以,我不明白为甚麽我会有这样的信息:

有人知道这个问题吗?
发布于 2020-09-10 03:50:46
The ASP.NET Core docs大纲,使用CompressionLevel.Fastest将导致压缩完成最快,而不是网页加载最快。
要获得最高级别的压缩,您应该使用CompressionLevel.Optimal。

发布于 2020-09-11 14:38:49
我已经找到了问题所在,希望能对其他人有所帮助。对UseResponseCompression的调用必须放在UseStaticFiles之前,这样它也会处理所有的静态(css,js)文件。
// Must be before UseStaticFiles to compress static
//files and UseMvc to compress MVC responses
app.UseResponseCompression();
app.UseStaticFiles();发布于 2021-11-23 16:39:06
不知道你是否解决了这个问题,但是,你错过了提供者。此外,在大多数情况下,最快优于最优。最优的速度更慢,在某些情况下,最快的压缩效果比最优的要好,而且速度也更快。因此,在大多数情况下,最快是要走的路。
services.AddResponseCompression(options =>
{
options.Providers.Add<BrotliCompressionProvider>();
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(
new[] { "application/octet-stream" });
options.EnableForHttps = true;
});https://stackoverflow.com/questions/63818204
复制相似问题