.Net核心1.1 UseResponseCompression没有压缩

时间:2016-11-23 07:59:41

标签: c# asp.net-core-mvc .net-core

我刚将所有.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();

1 个答案:

答案 0 :(得分:3)

我认为您需要指定压缩提供程序。试试这个:

        services.AddResponseCompression(options =>
        {
            options.Providers.Add<GzipCompressionProvider>();
        });

当我这样做时,我看到之前89kb的响应变为2kb,内容类型和编码被设置为预期值。