我有一个MVC3应用程序,它通常使用视图和控制器。
我还有一个控制器TestController
,可以从IIS 7.5中的虚拟目录设置返回视图。
在视图中的IIS内部我添加了虚拟目录Test
,该目录指向我本地磁盘上的目录和我的cshtml页面。
第一次请求时,视图的呈现最多需要20分钟,但后续请求需要几秒钟。
我本地计算机上的实际文件夹包含1000个cshtml页面 - 这是一个问题吗?
为什么我的应用程序需要20分钟(第一个请求)从虚拟目录渲染视图,以及秒在解决方案中呈现视图?
非常感谢任何帮助。
[进一步更新] - 这发生了很多次,然后才停止发生。然后我不得不删除虚拟目录并在IIS中重新添加它,它又开始发生了。
我决定运行蚂蚁表演分析器。这是结果(我在等待了近30分钟后停止了它)
我感觉我们可能会遇到僵局,但我不知道如何测试这个
答案 0 :(得分:1)
创建自己的虚拟路径提供程序后,我发现一旦从我的虚拟目录中请求了一个文件,它就会遍历目录中的每个文件并在每个文件上调用GetCacheDependency。
我相信Pranav上面的解释是正确的,因此是答案,但下面是我采取的方法: