Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 MVC3虚拟目录视图文件夹速度非常慢_Asp.net Mvc 3_Visual Studio 2010_Iis 7.5 - Fatal编程技术网

Asp.net mvc 3 MVC3虚拟目录视图文件夹速度非常慢

Asp.net mvc 3 MVC3虚拟目录视图文件夹速度非常慢,asp.net-mvc-3,visual-studio-2010,iis-7.5,Asp.net Mvc 3,Visual Studio 2010,Iis 7.5,我有一个MVC3应用程序,它通常使用视图和控制器 我还有一个控制器TestController,它从IIS 7.5中的虚拟目录设置返回视图 在视图下的IIS中,我添加了虚拟目录Test,它指向本地磁盘上的一个目录以及cshtml页面 第一次请求时,视图的渲染最多需要20分钟,但后续请求需要几秒钟 我的本地计算机上的实际文件夹包含1000个cshtml页面-这会是一个问题吗 为什么我的应用程序需要20分钟(第一次请求)才能从虚拟目录渲染视图,而在解决方案本身中渲染视图需要几秒钟 非常感谢您的帮助

我有一个MVC3应用程序,它通常使用视图和控制器

我还有一个控制器
TestController
,它从IIS 7.5中的虚拟目录设置返回视图

在视图下的IIS中,我添加了虚拟目录
Test
,它指向本地磁盘上的一个目录以及cshtml页面

第一次请求时,视图的渲染最多需要20分钟,但后续请求需要几秒钟

我的本地计算机上的实际文件夹包含1000个cshtml页面-这会是一个问题吗

为什么我的应用程序需要20分钟(第一次请求)才能从虚拟目录渲染视图,而在解决方案本身中渲染视图需要几秒钟

非常感谢您的帮助

[进一步更新]-这种情况发生了很多次,然后就停止了。然后,我不得不删除虚拟目录并将其重新添加到IIS中,然后它又开始发生了。

我决定运行ants性能分析器。这就是结果(我等了将近30分钟才停下来)


我有一种感觉,我们可能会看到死锁,但我不知道如何测试它。在创建自己的虚拟路径提供程序后,我发现一旦从虚拟目录请求了一个文件,它就会遍历目录中的每个文件,并对每个文件调用GetCacheDependency

我相信Pranav上面的解释是正确的,因此答案是正确的,但下面是我采取的方法:

  • 将我的文件从磁盘移动到couchbase
  • 创建我自己的自定义VirtualPathProvider
  • 创建我自己的自定义缓存依赖项
  • 如果文件是虚拟文件,请返回我的自定义CacheDependecy,否则 使用默认值
  • 使用MSMQ使缓存无效

  • 我不知道这个问题是否与IIS有关,但是数千个cshtml页面听起来太多了。他们的目的是什么?这是一个如此大的网站吗?可能是误用了模板引擎?谢谢你的突破。