我刚将所有.net核心软件包升级到asp.net核心1.1。与此同时,我认为我将实现新发布的响应压缩中间件。但是,当我查看浏览器开发工具(网络流量)时,无论是否使用压缩,我都可以看到响应大小没有差别。此外,没有“Content-Encoding”类型的响应头,表明发生了压缩。
我还有什么其他的工作要做这项工作吗?
我的代码如下:
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddMvc(options => {
options.CacheProfiles.Add("Never",
new CacheProfile()
{
Location = ResponseCacheLocation.None,
NoStore = true,
Duration = 0
});
});
services.AddResponseCompression();
和
public void Configure(IApplicationBuilder appBuilder)
{
appBuilder.UseResponseCompression();
appBuilder.UseMvc();
答案 0 :(得分:3)
我认为您需要指定压缩提供程序。试试这个:
services.AddResponseCompression(options =>
{
options.Providers.Add<GzipCompressionProvider>();
});
当我这样做时,我看到之前89kb的响应变为2kb,内容类型和编码被设置为预期值。