ASP MVC время компиляции включает частичное представление - PullRequest
2 голосов
/ 19 января 2012

У меня есть два разных представления, из которых более 500 обращаются к частичному виду, каждый из которых имеет общий частичный вид. Хороший дизайн говорит мне, что я должен оставить частичное представление там, где оно есть, и ссылаться на него из обоих вышележащих видов, чтобы избежать дублирования кода. К сожалению, производительность страдает - вставка копий частичного представления в каждом из двух других представлений дает улучшение на 300 мс.

Могу ли я в любом случае включить частичное представление в вышележащее представление, получая преимущества в производительности от того, что не используется фактический вызов Partial (), и в то же время нет необходимости поддерживать дублирующийся код? Примечание. Я понимаю, что я мог бы написать некую надстройку VS, которая скопировала бы код представления, но я ищу другие варианты ...

Ответы [ 2 ]

3 голосов
/ 19 января 2012

Что можно попробовать, чтобы улучшить производительность:

  • Используйте @{Html.RenderPartial("_foo");} вместо @Html.Partial("_foo") для включения частичного
  • Всегда проводите тестирование в режиме выпуска. ASP.NET MVC выполняет много операций оптимизации и кэширования в отличие от режима отладки.

Если предыдущие 2 предложения не дали требуемой производительности, вы можете попробовать заменить частичное на собственный помощник HTML, который будет генерировать фрагмент HTML. Это может сработать, если HTML-код частичного не очень сложен.

0 голосов
/ 19 января 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...