代码之家  ›  专栏  ›  技术社区  ›  Ali Jebali

ASP。网络核心力量使用Brotli

  •  0
  • Ali Jebali  · 技术社区  · 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 内容编码。

    enter image description here

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

    更新 :突然修好了!真 的。但是怎么做?什么都没变。什么都没有!

    我再次测试了另一个项目。 add响应压缩() 然后 UseResponseCompression() 之后 UseStaticFiles() 同样的事情再次发生。Gzip上所有!

    也许我应该为Dotnet提交一个问题?

    0 回复  |  直到 1 年前
        1
  •  0
  •   samwu    1 年前

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

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

    更多信息请参考此链接:

    Higher Compression Ratio with Brotli compression .

    Brotli IIS Compression Scheme Plugin .