Angularjs 在ASP.NET Core中禁用角度模板

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在这里的评论中给出的链接的回复中得到了这个解决方案

在使用AngularJs的ASP.NET核心视图上,我有:

<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等)时,这些浏览器往往会造成严重破坏。