gpt4 book ai didi

asp.net - .NET Core 静态文件响应压缩中间件

转载 作者:行者123 更新时间:2023-12-02 12:10:51 27 4
gpt4 key购买 nike

我已经为我的 asp.net core 1 应用程序启用了响应压缩中间件。我注意到启用此功能后,我现在看到 View 响应具有内容编码 g-zip,因此它适用于 html。

但是,我正在尝试启用它,以便从项目的 wwwroot 请求的静态文件也可以通过 g 压缩发送。例如, View 头部引用的 js 文件或 css 文件。目前这不起作用,因为我看到发送的文件没有 g-zip 的内容编码。是否可以做我想做的事情,或者从 wwwroot 请求 Assets 时中间件不会启动?配置服务中的代码如下:

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;
});

配置中的代码:

app.UseResponseCompression();

我也在使用 useStaticFiles() - 不确定这会如何影响我尝试进行的压缩。

最佳答案

中间件的顺序非常重要 - 它决定了每个项目的运行顺序。您当前的代码将如下所示:

app.UseStaticFiles();

//snip

app.UseResponseCompression();

请注意,静态文件将在响应压缩中间件组件运行之前提供。

因此,您真正需要做的就是确保在管道中更早地添加压缩:

//Near the start
app.UseResponseCompression();

//snip

app.UseStaticFiles();

关于asp.net - .NET Core 静态文件响应压缩中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46832723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com