我有一个IIS站点,其中一个虚拟目录实际上是在一个单独的服务器上,通过UNCpath访问。
每隔一段时间(每天数次)ASP.Net应用程序重新启动,并在事件日志中得到:
事件消息:应用程序正在closures。 原因:configuration更改。
现在,我知道configuration没有改变,但是我能够通过暂时使UNCpath不可用,然后从中请求一个文件,在testing环境中重新创build问题。
我偶然发现了一个无关的知识库文章(269009)上的下面的gem:
Microsoft不build议在高容量网站上使用UNC映射的内容
现在,我的问题是:MS为什么不推荐使用UNCpath,我应该使用什么替代方法?
文件更改通知是一个问题,特别是远程运行内容时。 我支持在远程共享上运行所有内容/代码的网站。 我的build议是#2使用DFS静态内容并将代码本地放在服务器上。 这需要你的应用程序的一些devise,如把图像,CSS,JS文件等放在同一个位置。 以下是我多年来积累并发布的几篇文章。
http://www.iislogs.com/Tags/unc
这里可能是人们最常提到的一篇文章http://technet.microsoft.com/en-us/library/dd296694(v=ws.10).aspx
从磁盘访问文件是优先select的方式,因为它不太容易出错,并且(通常)可以提供更好的性能。
我看到三个解决scheme:
答:使用某些东西从中央存储库中推出新的文件/configuration。 很多人为此使用颠覆。 微软也有自己的免费工具 – Web部署
B:实施Microsoft DFS,并且至less有两台具有相同文件存储的活动服务器。 这样可以在发生故障时提供更多的可用性,但是当故障转移发生时,它仍然会导致您的IIS无法使用。 对于即时故障转移,请参见C点。
C:使用文件服务器群集。 我99.9999%肯定这是方式,矫枉过正。 你还需要实现一个完全冗余的networking。