我设置IIS(7.5)来静态地服务一些文件,其中一些文件实际上是由mklink创建的符号链接.
即使我禁用内核和用户缓存,这些文件似乎被IIS缓存.文件修改后,IIS仍然提供旧版本.
(为了确保它不是由ASP.NET引起的,我创建了一个专用的非托管应用程序.)
(我已经检查过这些文件没有被浏览器缓存.)
我的web.config如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directorybrowse enabled="true" />
<caching enabled="false" enableKernelCache="false" />
<urlCompression doStaticCompression="false" doDynamicCompression="false" />
<staticContent>
<clientCache cacheControlMode="disableCache" />
</staticContent>
</system.webServer>
</configuration>
有几个人提到这个问题:
> http://forums.iis.net/t/1166077.aspx
> http://forums.iis.net/t/1171204.aspx
任何提示如何解决这个问题?
这个问题让我坚持像一个月一样.您必须在注册表中禁用IIS缓存,据我所知,这并不是IIS 7的任何地方,而是依旧是一个旧的IIS 5技巧.您可以将下面的文件转换成.reg文件并将其导入,也可以导航到该部分并手动添加.我建议在更改此参数后重新启动,我不知道IIS是否只在一个iisreset后选择它.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYstem\CurrentControlSet\Services\InetInfo\Parameters] "disableMemoryCache"=dword:1