我有这个随机出现的问题,当我对ASP页面进行更改时IIS Express无法识别。它代替了以前版本的页面。
我可以通过重新编辑页面,进行小的更改,然后撤消更改并重新保存文件来解决此问题。但这很烦人......
到目前为止,我只看到过经典ASP页面,而不是我项目中的其他文件(html,js,css ...)。我知道IIS会在文件更新时缓存ASP页面并更新缓存,因此必须阻止IIS识别这些文件何时更改。我只是不知道那可能是什么。
如果重要,我在Windows 7上使用Visual Studio 2013,IIS Express 7.1.1557。
我的web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<customErrors mode="Off" />
</system.web>
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
答案 0 :(得分:2)
我有完全相同的行为。到目前为止,这似乎已经解决了这个问题:
在IISExpress(%userprofile%\ My Documents \ IISExpress \ config)的applicationhost.config中,在<system.webServer>
下,我禁用了缓存,但没有内核缓存。这就是我现在所拥有的:
<caching enabled="false" enableKernelCache="false">
</caching>
到目前为止,它似乎已经成功了。我希望它也会帮助你。
它似乎对性能产生了很小的负面影响,但就我而言,这是值得的。
修改强>
使用它一段时间后,我开始重新获得缓存页面。然后我尝试关闭VS,确保IISExpress已停止,再次打开VS,并启动网站而不调试(Ctrl+F5
),到目前为止没有缓存问题。
虽然有一点不同......我的IISExpress.exe版本是8.0.8418.0(Visual Studio是12.0.21005.1 REL)。我希望这对你有帮助,Keith,因为我知道这个bug有多烦人。祝你好运。
答案 1 :(得分:1)
自从将IIS Express从版本7升级到10(download here)以来,我没有遇到此问题。
See here了解如何检测您的IIS Express版本。
答案 2 :(得分:0)
不仅需要设置以下设置:
<caching enabled="false" enableKernelCache="false"></caching>
罗伯特(Robert)所写,但下面也是:
<section name="caching" overrideModeDefault="Deny" />
始终保持缓存状态。