Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/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 asp.net mvc findpartialview性能_Asp.net Mvc - Fatal编程技术网

Asp.net mvc asp.net mvc findpartialview性能

Asp.net mvc asp.net mvc findpartialview性能,asp.net-mvc,Asp.net Mvc,我有一个ASP.NET MVC应用程序,它使用Phil Haack提出的AreaViewEngine。它工作得很好,但应用程序似乎有点迟钝,所以我用dotTrace做了一些分析。我将应用程序推送到我们的开发服务器,在web.config中将调试标志更改为false(compilation debug=“false”),启动探查器,并使用jmeter生成数千个点击。我的发现如下: 请注意VirtualPathProviderViewEngine.FindPartialView花费了320秒。我

我有一个ASP.NET MVC应用程序,它使用Phil Haack提出的AreaViewEngine。它工作得很好,但应用程序似乎有点迟钝,所以我用dotTrace做了一些分析。我将应用程序推送到我们的开发服务器,在web.config中将调试标志更改为false(compilation debug=“false”),启动探查器,并使用jmeter生成数千个点击。我的发现如下:

请注意VirtualPathProviderViewEngine.FindPartialView花费了320秒。我无法深入了解到底是什么底层代码导致了这个问题,但我怀疑它与前面提到的问题有关

该博客特别指出,在发布模式下运行将导致缓存视图路径解析,但情况似乎并非如此(或者,如果是这样的话,FindPartialView函数中的其他功能将花费大量时间)

有什么想法吗

编辑:


我从未找到问题的原因,但我最终下载了1.0版的MVC源代码,它工作正常。可能是可安装的二进制文件与1.0版的源代码之间存在差异。或者是我的安装有问题(尽管问题在多台计算机上表现出来).

在使用RenderPartial()或View()时,可以做一件事来提高性能是以不必搜索的方式返回视图的路径。当您只提供文件名时,它必须确定它只是一个文件名,然后在文件夹列表中搜索视图。

是的,我理解,但如果您查看我链接的文章,则搜索视图所需的工作只应在调试时进行一次是关闭的,因为结果应该缓存。我想了解的是为什么缓存看起来不工作。这是错误吗?我做错了什么吗?这是我的问题。