我正在使用软件包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或任何所需的标头。

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

10-14 08:23