Я использую общий хост с веб-приложением ASP.Net Core 2.0.Когда я запускаю приложение на локальном хосте, я вижу, что HttpCompression прекрасно работает (content-encoding: gzip) заголовок ответа возвращается для файлов JS).
После развертывания на общем хосте ответа content-encoding: gzip больше не существует.Я попытался добавить различные настройки httpCompression / urlCompression в web.config, но хостинговая компания говорит, что эти настройки отключены для моего плана.
Есть ли другой способ заставить работать сжатие 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);
}