Что именно делает MVC3 во время того, что мини-профилировщик вызывает шаг Find: Index?

По умолчанию мини-профилировщик, добавленный на сайт MVC3, сообщает о шаге под названием Find: Index, где Index — это параметр viewName, установленный в вызове контроллера View(). При первом обращении к представлению этот шаг может легко занять секунду, а затем пренебрежимо мал для всех последующих вызовов.

Что тут происходит? Я предполагаю, что мини-профилировщик виновен в неправильном выборе или принятии имени для этого шага, потому что он, безусловно, не может занять ни секунды, чтобы найти что-либо, конечно, указание полного пути к файлу представления и имя не имеют никакого значения, так что это не найти в этом смысле. Установка MvcBuildViews true также не помогает.


person stovroz    schedule 17.05.2012    source источник


Ответы (1)


Я написал об этом в блоге здесь: http://samsaffron.com/archive/2011/08/16/Oh+view+where+are+thou+finding+views+in+ASPNET+MVC3+

Шаг «найти» будет включать «этап компиляции просмотра» во время первого запуска. При последующих запусках это молниеносно (если только у вас не происходит что-то действительно плохое). Также обратите внимание, что это даже быстрее при работе без отладки.

Вы можете избежать этого, предварительно скомпилировав представления, что я бы не рекомендовал из-за сложности, которую это вносит.

person Sam Saffron    schedule 19.05.2012