.net中ResponseCompressionoptions没有Level 压缩级别
时间: 2023-09-26 08:06:43 浏览: 30
在 .NET Core 3.0 之后的版本中,ResponseCompressionOptions类已经不再包含Level属性,而是通过CompressionProviderOptions类来设置压缩级别。因此,在使用AddResponseCompression()方法添加压缩中间件时,需要使用CompressionProviderOptions类来设置压缩级别。例如,我们可以这样配置:
```csharp
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddResponseCompression(options =>
{
options.Providers.Add<GzipCompressionProvider>();
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(
new[] { "application/json" });
options.CompressionProviderOptions.Add<GzipCompressionProvider>(new GzipCompressionProviderOptions
{
Level = System.IO.Compression.CompressionLevel.Optimal
});
});
//...
}
```
在上述示例中,我们使用CompressionProviderOptions类为GzipCompressionProvider设置压缩级别为Optimal。由于BrotliCompressionProvider也使用CompressionProviderOptions类来设置压缩级别,因此在使用BrotliCompressionProvider时,也需要用CompressionProviderOptions类来设置压缩级别。
需要注意的是,如果使用的是 .NET Core 2.x 版本,则仍然可以使用ResponseCompressionOptions类的Level属性来设置压缩级别。