Angularjs 在ASP.NET Core中禁用角度模板
在使用AngularJs的ASP.NET核心视图上,我有:Angularjs 在ASP.NET Core中禁用角度模板,angularjs,asp.net-core,Angularjs,Asp.net Core,在使用AngularJs的ASP.NET核心视图上,我有: <div ng-include="'/views/profile.html'" ng-controller="ProfileController as c"></div> 当我更改HTML文件并运行应用程序时,其内容不会更改 我检查过了,HTML文件被缓存了 如何避免在ASP.NET Core中缓存angular HTML模板?实际上,我从@Deblaton在这里的评论中给出的链接的回复中得到了这个解决方案
<div ng-include="'/views/profile.html'" ng-controller="ProfileController as c"></div>
当我更改HTML文件并运行应用程序时,其内容不会更改
我检查过了,HTML文件被缓存了
如何避免在ASP.NET Core中缓存angular HTML模板?实际上,我从@Deblaton在这里的评论中给出的链接的回复中得到了这个解决方案 但是,我为了我们的目的修改了 对于开发环境,我在ASP.Net核心请求管道的Configure()方法中仅禁用了HTML模板的缓存
if (env.IsDevelopment())
{
app.UseStaticFiles(new StaticFileOptions()
{
OnPrepareResponse = (context) =>
{
if (context.File.Name.ToLower().EndsWith(".html"))
{
context.Context.Response.Headers["Cache-Control"] = "no-cache, no-store";
context.Context.Response.Headers["Pragma"] = "no-cache";
context.Context.Response.Headers["Expires"] = "-1";
}
}
});
}
else
{
app.UseStaticFiles();
}
它真的成功了 浏览器中可能存在重复的禁用缓存。一些未公开的浏览器(带有橙色fox徽标)使用了一些非常激进的缓存,并且似乎不太在意服务器所说的话,在开发任何客户端(如javascript等)时,这些浏览器往往会造成严重破坏。