use*_*689 6 asp.net asp.net-mvc gzip asp.net-core-mvc asp.net-core
我为我的asp.net核心1应用程序启用了响应压缩中间件.我注意到在启用此功能后,我现在看到视图响应具有内容编码g-zip,因此它适用于html.
但是,我正在尝试启用它,以便从项目的wwwroot请求的静态文件也被g-zipped发送.例如,视图头部或css文件中引用的js文件.目前这不起作用,因为我发现文件是在没有g-zip内容编码的情况下发送的.是否有可能做我想做的事情,或者从wwwroot请求资产时中间件是否没有启动?配置服务中的以下代码:
services.AddResponseCompression(options =>
{
options.Providers.Add<GzipCompressionProvider>();
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] {
"image/jpeg", "image/png", "application/font-woff2", "image/svg+xml"});
options.EnableForHttps = true;
});
services.Configure<GzipCompressionProviderOptions>(options =>
{
options.Level = CompressionLevel.Optimal;
});
Run Code Online (Sandbox Code Playgroud)
配置代码:
app.UseResponseCompression();
Run Code Online (Sandbox Code Playgroud)
我也在使用useStaticFiles() - 不知道这可能会影响我正在尝试使用压缩做什么.
Dav*_*idG 10
订单或中间件非常重要 - 它决定了每个项目的运行顺序.您当前的代码将如下所示:
app.UseStaticFiles();
//snip
app.UseResponseCompression();
Run Code Online (Sandbox Code Playgroud)
请注意,静态文件将在响应压缩中间件组件运行之前提供.
所以你真正需要做的就是确保在管道中更早地添加压缩:
//Near the start
app.UseResponseCompression();
//snip
app.UseStaticFiles();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1308 次 |
| 最近记录: |