为了账号安全,请及时绑定邮箱和手机立即绑定

Asp.Net Core - 在共享托管环境中启用 HttpCompression?

Asp.Net Core - 在共享托管环境中启用 HttpCompression?

C#
守着一只汪 2021-07-01 01:42:41
我正在使用运行 ASP.Net Core 2.0 Web 应用程序的共享主机。当我在本地主机上运行该应用程序时,我可以看到 HttpCompression 工作正常(为 JS 文件返回响应标头的内容编码:gzip)。部署到共享主机后, content-encoding: gzip 响应不再存在。我尝试在 web.config 中添加各种 httpCompression/urlCompression 设置,但托管公司表示我的计划已禁用这些设置。有没有其他方法可以使 Gzip 压缩工作,或者我是否必须使用在 IIS 中启用它的托管计划?编辑:我还使用 ResponseCompression 中间件作为 ASP.Net Core 的一部分,内容编码响应标头仍然没有出现。配置代码如下:    public void ConfigureServices(IServiceCollection services)    {        services.AddLogging();        services.AddResponseCompression(options =>        {            options.Providers.Add<GzipCompressionProvider>();        });...}        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)    {                if (env.IsDevelopment())        {            loggerFactory.AddDebug(LogLevel.Debug);            app.UseDeveloperExceptionPage();            app.UseBrowserLink();        }        else        {            app.UseExceptionHandler("/error");        }        app.UseStatusCodePagesWithRedirects("/error/{0}");        app.UseResponseCompression();        app.UseStaticFiles(new StaticFileOptions        {            OnPrepareResponse = ctx =>            {                ctx.Context.Response.Headers.Append("Cache-Control", "public, max-age=604800");            }        });        app.UseAuthentication();        app.UseMvc(routes =>        {            routes.MapRoute(                name: "areas",                template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"              );            routes.MapRoute(                name: "default",                template: "{controller=Home}/{action=Index}/{id?}");        });        var options = new RewriteOptions()            .AddRedirectToHttps();        app.UseRewriter(options);    }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信