.net6中AddResponseCompression没有ConfigureResponseCompression
时间: 2023-09-23 11:11:08 浏览: 35
很抱歉,我的回答有误。在 .NET 6 中,`AddResponseCompression` 方法的 API 发生了变化,`ConfigureResponseCompression` 参数已经被移除了。如果想要设置压缩级别,可以使用 `CompressionProviderOptions` 类的 `Level` 属性,例如:
```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 = CompressionLevel.Optimal
});
});
}
```
在上述示例中,我们添加了 `GzipCompressionProvider` 压缩提供程序,并设置了压缩级别为 `CompressionLevel.Optimal`。如果需要设置其他压缩提供程序的压缩级别,可以在 `CompressionProviderOptions` 中添加相应的选项。
需要注意的是,`AddResponseCompression` 方法需要在 `UseRouting` 和 `UseEndpoints` 方法之前调用。