我使用mklink实用程序来创build一个符号链接到一个web内容的目录。 如果不发出iisreset,IIS7不会“查看”对此链接目录中任何经典ASP文件的更改。 我禁用了caching,文件更改被其他静态文件(如.html)所取代,但.asp文件被忽略。
这是要么是已知的,要么是通过devise(select“它不会像你想象的那样工作”的委婉语)。 在iis7下,你应该使用虚拟目录指向相同的物理文件夹来实现你想要的。
这是你正在寻找的答案。
https://stackoverflow.com/questions/6698481/caching-problem-with-symlinks-on-iis-7-5
IIS不知道何时通过Visual Studio修改了符号链接上的文件。 但是你可以告诉iis不要在内存中caching本地文件。 只用于开发环境…在生产中,如果使用符号链接,则应该在更新之后回收池。
这个答案的问题是,如果您使用虚拟目录指向内容的物理位置,则该内容位于目录级别。
假设你是一个优秀的开发人员,并使用版本控制。 假设您已经在服务器上使用了VSS,并且开发人员在客户端上使用了Visual Studio,则设置了一个集成的客户端/服务器环境。 因此,开发人员从VSS中检出一个asp文件,进行更改,然后在客户端检查服务器上的集成testing之前,先在客户端上进行testing。 您不希望开发人员将文件复制到wwwroot,因此您将虚拟目录映射到VS网站目录。 主要的问题是由于web.config控制数据库和报告pipe理器以及网站使用的所有其他MS废话。 VSS中的web.config正确指向服务器集成testing环境,所有开发人员更改在客户端完成unit testing后进行testing。 那么,iis没有web.config的searchpath,可以覆盖已经签出到VS的VSS项目的一部分web.config。 这是使用符号链接的地方。 wwwroot应用程序目录将包含指向客户端开发环境的web.config的本地副本,并具有通过VS控制VSS的文件的符号链接。
在linux和其他任何unix版本中,这样做很简单,因为符号链接已经存在了,因为我描述的场景和其他类似的文件非常常见。