Какой из них имеет лучшую производительность. У меня есть список, содержащий список статей. Когда я перечисляю статьи, у меня есть RenderPartial, который отображает только одну статью, а родительская страница проходит цикл всех статей. Renderpatial находится внутри цикла родительской страницы. Каков наилучший способ сделать это?ASP.NET MVC - для цикла внутри RenderPartial или внешнего RenderPartial
ответ
Петля внутри частичного обзора, если можете. Каждый раз, когда вы звоните RenderPartial, следующие вещи происходят (любезность исходных файлов MVC):
RenderPartial
звонкиRenderPartialInternal
RenderPartialInternal
создает новыйViewDataDictionary
и новыйViewContext
RenderPartialInternal
звонкиFindPartialView
для определения местоположения и представления экземпляраFindPartialView
выполняет поиск всех зарегистрированных движков вида (обычно только один) для представления, используя контекст контроллера и имя вида в виде ключей. Каждый движок просмотра ищет представление во всех поддерживаемых им маршрутах, например. Views/controller/view.aspx, Views/Controllers/view.ascx, Views/Shared/view.aspx и т. Д. Представления могут быть возвращены из кеша памяти для ускорения этого этапаВызывается метод
Render
вида. Я потерял следы внутренней работы методаRender
стандартаWebFormView
на 13 уровнях вниз по стеку.Render
создает большое количество объектов контекста, которым необходим внутренний вид, проверяет разрешения для запуска представления, подключает события для любых элементов управления сервером, повторно проверяет объект Request, чтобы решить, что еще нужно сделать, и так далее. После фактического представления представления он разматывает контекст, который он создал.
В целом, ничто из этого не является плохим. Все это происходит внутри процессора и ОЗУ машины, что более чем можно сказать о типичном доступе к базе данных, который происходит в контроллере. Процесс должен выходить на диск только при первом загрузке представления (это может быть медленным, однако, файлы нужно искать, а представление должно быть скомпилировано). ASP.NET MVC пришлось оптимизировать процесс рендеринга представления для поддержания высокого уровня производительности.
Все еще, это довольно много, и если вы можете избежать его запуска несколько раз в одном запросе, это поможет улучшить время отклика метода действия.
Одна вещь, которая улучшит производительность ваших взглядов в несколько раз это установить Debug=false
в вашем web.config (т.е. развертывание в режиме выпуска)
В этом случае MVC движок будет кэшировать все представления (включая партиалы) и не будут пытаться разрешить их местоположение и загрузить их на каждые пытаются их использовать.
- 1. asp.net-mvc RenderPartial onclick
- 2. JQuery переменных внутри цикла RenderPartial
- 3. Asp.Net MVC RenderPartial другую модель
- 4. ASP.Net MVC: RenderPartial для статического файла HTML
- 5. ASP.NET MVC - RenderPartial с динамической моделью
- 6. ASP.Net MVC и RenderPartial с относительными путями
- 7. ASP.NET MVC Catching «Сохранить» POST с RenderPartial
- 8. renderpartial MVC диалог трудности
- 9. MVC 4 и RenderPartial
- 10. ASP.NET MVC 1.0: OutputCache, RenderPartial и WriteSubstitution
- 11. ASP.NET MVC 3 Razor шаблоны VS RenderPartial
- 12. RenderAction RenderPartial
- 13. Asp.Net MVC - RenderPartial - Создать в виде списка
- 14. ASP.NET MVC Проблема IEnumerable с RenderPartial
- 15. Renderpartial или renderaction
- 16. Renderpartial условно на MasterPage в ASP.NET MVC
- 17. RenderPartial использования внутри PartialView в MVC3 ASP.NET
- 18. RenderAction или RenderPartial динамически
- 19. pass param для RenderPartial
- 20. .Net MVC UserControl - RenderPartial или EditorFor
- 21. ASP.Net MVC многоразовая форма как RenderAction или RenderPartial
- 22. MVC Master page и RenderPartial
- 23. Mvc RenderAction performance vs RenderPartial
- 24. Mvc RenderPartial to spark view
- 25. ModelFactory в ASP.NET MVC для решения проблемы «RenderPartial»
- 26. RenderAction vs RenderPartial performance
- 27. «System.Web.Mvc.HtmlHelper» не содержит определения для «RenderPartial» - ASP.Net MVC
- 28. Разбитого RenderPartial После обновления Для ASP.NET MVC2
- 29. ASP.NET MVC RenderPartial Обработка на стороне клиента идентификаторы
- 30. Действие ASP.Net MVC Чтение параметров/Информация о маршруте в RenderPartial