У меня есть приложение ASP.NET MVC, которое использует AreaViewEngine, предложенный Филом Хааком здесь . Он работает нормально, но приложение кажется вялым, поэтому я немного профилировал с помощью dotTrace. Я перенес приложение на наш сервер разработки, изменил флаг отладки на false в web.config (compugation debug = "false"), запустил профилировщик и использовал jmeter для создания нескольких тысяч обращений. То, что я нашел, перечислено ниже:
Обратите внимание, что VirtualPathProviderViewEngine.FindPartialView занял более 320 секунд. Я не могу детализировать дальше, чтобы увидеть, какой основной код вызывает проблему, но я подозреваю, что это связано с упомянутой проблемой здесь .
В блоге конкретно говорится, что работа в режиме выпуска приведет к кэшированию разрешения пути просмотра, но, похоже, это не так (или, если это так, то что-то еще занимает много времени в пределах Функция FindPartialView.
Есть мысли?
Edit:
Я так и не нашел причину проблемы, но в итоге я скачал исходный код MVC для выпуска 1.0, и он работает нормально. Должно быть несоответствие между устанавливаемым двоичным файлом и исходным кодом для v1.0. или что-то не так с моей установкой (хотя проблема проявлялась на нескольких машинах).