Для каждого цикла в MVC Razor Views выполняется медленно

#c# #asp.net #.net #razor

#c# #asp.net #.net #razor

Вопрос:

Итак, у меня есть представление razor, и я даю ему около 1000 записей. У меня есть цикл foreach вокруг этих записей, и они просто отображают строку таблицы для каждой записи.

Примечание: я могу добиться того же с помощью React очень быстро, но я хочу использовать MVC Razor Views.

 <table>
@foreach (var b in @Model) {
   @<tr>
     ....
    </tr>

}
</table>
  

Рендеринг этого занимает около 20-30 секунд, что я делаю не так и что я упускаю?
Получение данных из базы данных занимает около половины секунды. Таким образом, медлительность не относится к части DB.

Комментарии:

1. Можете ли вы опубликовать результат typeof(@Model)?

2. Упомянутые вами 20-30 секунд были записаны во время отладки / разработки или после развертывания?

3. Что именно вы делаете в foreach ? Вы просто отображаете данные или отправляетесь в базу данных?

4. Если вы только один раз обращаетесь к переменной b в каждом цикле, вам следует использовать for вместо foreach , это немного ускорит процесс.

5. Модель довольно большая, но по сути это просто набор отображаемых строковых полей. Данные и вся логика уже выполнены и готовы к работе, когда дело доходит до представления razor. Внутри forloop я проверяю if, а затем отображаю данные, нет подключения к базе данных. Это происходит при отладке и в prod.