ASP.Net 核心强制使用 Brotli

问题描述 投票:0回答:1

无论我在

AddResponseCompression()
中做什么并不重要,Web 服务始终使用 Gzip 进行压缩。我想使用 brotli。我测试过:

builder.Services.AddResponseCompression();

///////////

builder.Services.AddResponseCompression(options =>
{
    options.Providers.Add<BrotliCompressionProvider>();
});

///////////

builder.Services.AddResponseCompression(options =>
{
    options.MimeTypes = new[] {
        "text/html",
        "text/css",
        ..
        .
    };
    options.Providers.Add<BrotliCompressionProvider>();
});

///////////

builder.Services.AddResponseCompression(options =>
{
    options.Providers.Add<BrotliCompressionProvider>();
    options.Providers.Add<GzipCompressionProvider>();
});

如下图所示,始终使用 Gzip。但我发现html页面它自己得到了

br
Content-Encoding。

值得一提的是,IIS 中启用了静态和动态内容压缩,并且选择了所有 mime 类型。

更新:突然修复了!哇。但如何呢?什么也没有变。完全没有!

我在另一个项目上再次测试。

AddResponseCompression()
,然后
UseResponseCompression()
,然后
UseStaticFiles()
,同样的事情再次发生。全部使用 Gzip!

也许我应该提交 Dotnet 的问题?

c# asp.net-core iis brotli
1个回答
0
投票

您可以在applicationHost.config中设置压缩方法,如下所示:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="br" dll="%ProgramFiles%\IIS\IIS Compression\iisbrotli.dll" />
</httpCompression>

更多信息可以参考这个链接:

通过 Brotli 压缩实现更高的压缩比

Brotli IIS 压缩方案插件.

© www.soinside.com 2019 - 2024. All rights reserved.