IIS Express过度缓存经典ASP页面

时间:2015-06-05 18:35:12

标签: visual-studio-2013 asp-classic iis-express

我有这个随机出现的问题,当我对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>

3 个答案:

答案 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" />

始终保持缓存状态。