gpt4 book ai didi

asp.net-core - 如何使用 ASP.NET 5 和 MVC 6 缓存静态内容?

转载 作者:行者123 更新时间:2023-12-01 13:48:31 24 4
gpt4 key购买 nike

之前是通过在web.config文件中添加一些配置来实现的,现在这个文件是要灭掉的。

我期望在中间件声明中找到一些方法或属性,但我没有找到:

app.UseStaticFiles();

那么,现在将静态内容缓存为图像、脚本等的过程是什么?

是否有其他中间件可以执行此操作,或者此功能是否尚未在 MVC 6 中实现?

我正在寻找一种方法来将缓存控制、过期等 header 添加到静态内容。

最佳答案

都是关于 AspNet Core 的中间件;

将以下内容添加到 Startup.cs 文件中的 Configure 方法

app.Use(async (context, next) =>
{
context.Response.Headers.Add("Content-encoding", "gzip");
context.Response.Body = new System.IO.Compression.GZipStream(context.Response.Body,
System.IO.Compression.CompressionMode.Compress);
await next();
await context.Response.Body.FlushAsync();
});

顺便说一句,对于缓存,您可以将其添加到 ConfigureServices 方法中

services.AddMvc(options =>
{
options.CacheProfiles.Add("Default",
new CacheProfile()
{
Duration = 60
});
options.CacheProfiles.Add("Never",
new CacheProfile()
{
Location = ResponseCacheLocation.None,
NoStore = true
});
});

并用

装饰控件
[ResponseCache(CacheProfileName = "Default")]
public class HomeController : Controller
{
...

关于asp.net-core - 如何使用 ASP.NET 5 和 MVC 6 缓存静态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33822561/

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