Visual Studio开发服务器没有更新css和javascript?

Rob*_*ray 22 asp.net cassini

我最近回到了一个已经退缩的网站项目.由于重新开始工作,我注意到当应用程序在Visual Studio开发服务器中运行时,css和javascript更改无法被应用程序识别.以前工作正常.我可以更改样式表和javascript并运行应用程序并进行测试.现在我可以测试应用程序的唯一方法是将它发布到我的本地IIS服务器(虽然我相信重新启动我的电脑也可以解决问题).

使用Visual Studio 2008(9.0.30729.1)

自从我确定它正常工作后发生了变化的是操作系统,从Vista x64家庭高级版到Win 7 x64旗舰版,我已经将项目源从c:移到了d:.虽然我回到了C:同样的负面结果.我还在单独的WCF服务中移动了一些功能,由控制台应用程序(两个服务主机)托管,当网站在调试中启动时,这些应用程序将被调试.

停止开发服务器什么都不做.检出(使用VSS 2005)所有文件以确保没有任何内容只读取任何内容.唯一有效的方法是发布到IIS或重新启动我的机器.两者都不受欢 如果我每次停止调试都需要终止进程,以确保不使用以前的副本,我甚至会感到满意.

有解决方案吗

War*_*ung 30

服务器可能正在向浏览器发送标头,使其继续使用缓存副本.最简单的方法来测试这是清空 您的 浏览器 缓存.

如果修复它,您需要研究从服务器获得的HTTP标头.您选择的浏览器中的开发人员 工具(也称为F12工具)将公开服务器返回的标头.然后决定是否要继续使用这些缓存设置(有利于速度)或更改它们(适合开发).

你问,你如何调整这些标题?这取决于服务器.以下是常用服务器说明的链接:

  • 更简单的方法是在浏览器中按CTRL + F5 (13认同)
  • 这不适合我.测试了4种不同的浏览器.清除了所有这些缓存.点击CTRL + F5的次数比我想象的多.Asp.net开发服务器只是不想更新任何标记/ css/javascript更改.停止和启动测试服务器是使其识别更改的唯一方法. (7认同)

ade*_*l41 7

一种快速方法是在脚本或css文件的src属性之后添加随机参数.例如

<script type="javascript" src="@Url.Content("~/scripts/myScripts.js?" + DateTime.Now.ToString("ddMMHHmmss")"></script>
Run Code Online (Sandbox Code Playgroud)

因此浏览器将始终采用新文件并且不会缓存.

在实时服务器上部署时,请务必删除它.