.net核心中的GZIP无法正常工作
我正在尝试将Gzip中间件添加到我的ASP.net核心应用程序中。
我添加了以下包:
“Microsoft.AspNetCore.ResponseCompression”:“1.0.0”
在我的startup.cs for Configure Services方法中,我有以下内容:
public void ConfigureServices(IServiceCollection services) { services.Configure(options => options.Level = CompressionLevel.Fastest); services.AddResponseCompression(options => { options.Providers.Add(); }); services.AddMvc(); }
在我的Configure方法中,我有以下内容:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); app.UseResponseCompression(); app.UseMvc(); }
但是,当我尝试加载页面时,它不会像Gzip一样压缩。 我已经使用了字符串响应和输出视图。 chrome中的响应标头如下所示:
我在视觉工作室开发的Windows机器上。 运行应用程序时,我尝试从Visual Studio(通过F5)运行,并从命令行使用“dotnet run”命令。 既没有输出GZip压缩。
在.net核心中启用GZIP 2. *
1.使用Install-Package Microsoft.AspNetCore.ResponseCompression
命令或nuget包管理器安装Microsoft.AspNetCore.ResponseCompression
。
2.将以下代码添加到Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseResponseCompression(); app.UseMvc(); } public void ConfigureServices(IServiceCollection services) { // Configure Compression level services.Configure(options => options.Level = CompressionLevel.Fastest); // Add Response compression services services.AddResponseCompression(options => { options.Providers.Add(); }); }
我通过删除使用IIS Express设法启用响应压缩中间件
...
在.vs \ config \ applicationhost.config中
通过将UseResponseCompression
两次放在彼此之下,我设法让它工作。 我不知道这是如何使它工作的。 我仍然在寻找一个公认的解决方案。
- Asp.Net Core:在控制器外部使用内存缓存
- 通过通用接口/抽象类实现使.NET Core DI自动解析类
- 将.net核心与遗留的.net框架dll一起使用
- ASP.net Core 2.0中的appsettings.json预览配置GetSection null
- 无法为netstandard1.x项目安装Netstandard1.x Nuget软件包
- 如何添加通用dependency injection
- .net核心dependency injection是否支持Lazy
- 如何根据XUnit测试隔离EF InMemory数据库
- Swashbuckle.AspNetCore v1.0.0 with OAuth2,flow:application – > IdentityServer4