c# - 更改Asp.net Core中静态文件的 header

标签 c# asp.net-core asp.net-core-mvc

我正在使用包 Microsoft.AspNet.StaticFiles 并将其在 Startup.cs 中配置为 app.UseStaticFiles()。如何更改交付文件的标题?我想为图像、CSS 和 JS 设置缓存过期等。

最佳答案

您可以使用 StaticFileOptions,它包含一个在每次静态文件请求时调用的事件处理程序。

您的 Startup.cs 应如下所示:

// Add static files to the request pipeline.
app.UseStaticFiles(new StaticFileOptions()
{
    OnPrepareResponse = (context) =>
    {
        // Disable caching of all static files.
        context.Context.Response.Headers["Cache-Control"] = "no-cache, no-store";
        context.Context.Response.Headers["Pragma"] = "no-cache";
        context.Context.Response.Headers["Expires"] = "-1";
    }
});

当然,您可以修改上面的代码来检查内容类型,并且仅修改 JS 或 CSS 或任何您想要的 header 。

关于c# - 更改Asp.net Core中静态文件的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256244/

相关文章:

javascript - 在 JavaScript 中转义 dotnet 资源

javascript - Jest React - 新快照未写入。必须显式传递更新标志才能写入新快照

facebook - 如何在 AspNet.Identity 版本 3/ASP.Net MVC 6/VNext 中检索 Facebook 访问 token ?

asp.net-core-mvc - .NET CLI 如何在 Linux 上发布后运行应用程序

c# - 自定义控件 BorderThickness

c# - 在 Visual Studio 中查看哪些方法/函数返回特定对象

c# - 在扩展方法 (C#) 中获取类型成员的简单语法

c# - ASP.NET 核心 3.1。更新集合的问题

asp.net-core - Nhibernate 集合。子实体未保存

c# - 在 cshtml 中重用编辑和新建 View 内容的 ASP.NET Core 特定方法