ASP.NET объем данных, передаваемых с ретранслятором, действительно велик - PullRequest
0 голосов
/ 03 сентября 2010

Я был занят реализацией повторителя в ASP.NET 4.0 для отображения данных, которые я получил из базы данных, я не начинал со встраивания в пейджинг, поэтому в начале было перенесено много данных. Я заполнил таблицу данных и связал ее как источник данных моего ретранслятора.

Я заметил следующее, когда страница была занята загрузкой 4000 записей (в большинстве случаев) было передано 26 МБ. Это достаточно, так что мне стало любопытно, и разработчик отображал одни и те же данные / html для каждого цикла (ofc это не очень хорошее время загрузки решения). Когда страница загружалась, на этот раз было передано 10,5 МБ.

Почему при использовании повторителя передается 26 МБ (24 с отключенным просмотром состояния), а при создании HTML с циклом 10 МБ? Есть ли способ оптимизировать ретранслятор? Я реализовал только базовое (создание itemtemplate, заполнение данных из базы данных и привязка его к повторителю)

1 Ответ

0 голосов
/ 03 сентября 2010

Повторитель будет выводить только тот код, который вы ему сообщаете. Так что я бы сделал то, что сказал @Aristos в их комментарии, и сравнил возвращаемую разметку. Если бы вы могли опубликовать разметку для первой записи в обоих случаях, было бы полезно, чтобы мы ответили на ваш вопрос.

Еще одна вещь, на которую вы могли бы обратить внимание: я сталкивался пару раз. В частности, в Firefox, если у вас есть пустая ссылка на javascript, подобная приведенной ниже, получается вся разметка страницы, а не просто ничего. Теперь это может быть просто ошибкой в ​​дополнении Firebug, но это может объяснить удвоение размера загрузки. Хотя я не уверен, почему это может быть вызвано использованием повторителя без какого-либо кода. Это стоит иметь в виду.

<script type="text/javascript" src="" ></script>
...