如何确保使用 ASP.NET MVC5 和 IIS 7.5 express 刷新 CSS 文件

Posted

技术标签:

【中文标题】如何确保使用 ASP.NET MVC5 和 IIS 7.5 express 刷新 CSS 文件【英文标题】:How to ensure a CSS file is refreshed using ASP.NET MVC5 and IIS 7.5 express 【发布时间】:2014-11-30 00:16:07 【问题描述】:

我试图刷新文件 x.css,它是通过 mvc 中的样式包提供的。我必须补充一点,出于开发目的禁用了捆绑优化。我尝试更新我的 web.config,重新启动 IIS 并重建应用程序。但这一切似乎都不起作用。我还尝试按照此答案中的建议禁用缓存:

ASP.NET MVC how to disable automatic caching option?

但文件将保持不变。在我多次重新运行应用程序之后,服务器终于刷新了样式表,然后是多次(我的意思是很多)浏览器刷新。为什么会这样?这个问题有没有更好的解决方案,不涉及重命名文件?

【问题讨论】:

想必你正在使用 ctrl + f5 来刷新你的浏览器? chrome中有一个选项可以在开发工具(f12)打开时禁用所有缓存 - 单击开发工具窗口右侧的齿轮 嗯,其实我是用Ctrl+R来刷新浏览器的。我从这个答案中可以看出,效果不太一样:superuser.com/questions/205279/ctrlf5-vs-ctrlr-on-browsers 但我下次会尝试禁用缓存选项。谢谢! 啊,如果你想刷新页面资源(在本例中是你的 css),请使用 ctrl + f5。希望能解决您的问题。 经过大量测试,看起来你一开始就对了@Carl。谢谢! 【参考方案1】:

对于捆绑,?v 查询字符串值将在您更新文件时更改。因此,请确保您的脚本末尾有 ?v=... 查询字符串。

【讨论】:

这个值是放在脚本/样式表路径还是捆绑虚拟路径中?您的意思是给它一个随机数或一个日期作为捆绑网址的查询字符串参数?或者只是 ?v。我尝试将 DateTime 值附加到包 url,现在根本没有加载脚本。我还尝试将一个空的 ?v 附加到虚拟路径和包的文件路径,但没有结果。 如果您查看源代码,捆绑程序会自动执行此操作。它通常看起来像这样 style?v=12414532 而不是 style.css

以上是关于如何确保使用 ASP.NET MVC5 和 IIS 7.5 express 刷新 CSS 文件的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net MVC5 angular4未捕获引用错误:部署到IIS后系统未在systemjs.config.js中定义

请问:ASP.net mvc5和asp.net.core有啥区别呢?在今后的发展中这个前景怎么样?

如何使用trackerenableddbcontext在asp.net mvc5和代码中的实体框架中实现审计跟踪

ASP.NET MVC5 实现 SQL 查询工具

ASP.NET MVC5 每个 Razor 页面在第一次加载时非常慢

如何在ASP.NET MVC5中正确包含jQuery与knockout.js