在之前的版本中,我会在here中执行此操作。但是在新版本的ASP中没有web.config文件,我相信它应该在launchSettings.json文件中完成。
基本上我想做的就是停止缓存app.js文件和模板文件夹中的所有.html文件。我该怎么做?
答案 0 :(得分:6)
请注意,您仍然可以免费添加<meta
&gt;您不希望缓存的每个页面的HTML页面中的标记:
<meta http-equiv="cache-control" content="no-cache" />
另请注意,如果您要部署到IIS,那么您仍然可以使用wwwroot
(或您在project.json
中指定的内容)放置web.config
个文件(已解析)通过IIS)。
如果您想使用配置进行操作,请在Configure()
课程中添加Startup
方法:
public void Configure(IApplicationBuilder application)
{
application.Use(async (context, next) =>
{
context.Response.Headers.Append("Cache-Control", "no-cache");
await next();
});
// ...
}
请注意,如果您只想将HTTP标头应用于某些网页,则只需检查PathString
HttpRequest
Request
属性HttpContext
)的application.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = context =>
{
context.Response.Headers.Append("Cache-Control", "no-cache");
}
};
属性,或者您需要为每个静态文件使用它(如果您只想应用其中一些,则与上面相同):
#include <iostream>
int main() {
int i = 1024, j = 1024, k = 1024, n = 3;
long long l = 5;
std::cout << i * j * k * n * l << std::endl; // #1
std::cout << ( i * j * k * n ) * l << std::endl; // #2
std::cout << l * i * j * k * n << std::endl; // #3
return 0;
}
Making sure a web page is not cached, across all browsers讨论了您应发送哪些与您需要支持的浏览器兼容的标头。
答案 1 :(得分:0)
如果您是.Net Core中的PWA开发人员,或者您是React或angular用户,则可以使用以下代码来缓存除service worker或您的主要app.js之外的所有静态文件。竖起大拇指是否对您有帮助:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//...
//One year 31536000
string cachePeriod = env.IsDevelopment() ? "600" : "31536000";
app.UseStaticFiles(new StaticFileOptions{ OnPrepareResponse = ctx => {
if (ctx.File.Name == "sw.js")
{
ctx.Context.Response.Headers.Append("Cache-Control", $"public, no-cache");
}
else
{
ctx.Context.Response.Headers.Append("Cache-Control", $"public, max-age={cachePeriod}");
}
} });
//...
}