Как уменьшить размер HTML, представленный из ASP.net? - PullRequest
1 голос
/ 19 мая 2010

Я разрабатываю информационный бюллетень на asp.net, который будет рассылаться большому количеству пользователей, поэтому каждый килобайт, который я могу уменьшить, будет очень полезен при использовании пропускной способности, пока я не напишу aspx за исключением некоторых пробелов между тегами, и перед рендерингом я переименовал некоторые идентификаторы элементов управления в «-», чтобы сэкономить больше места. Итак, теперь файл имеет 50 КБ. Мне нужен файл с 25 Кб.

Может ли кто-нибудь научить меня как-нибудь сэкономить больше места?

пс .: Я использую 3 делителя с некоторыми данными и 2 повторителя, один внутри другого, чтобы сгенерировать для меня таблицу с некоторыми данными.

РЕДАКТИРОВАТЬ: я отключил viewstate и удалил ненужные div, я попытаюсь проверить, включен ли gzip в IIS.

заранее спасибо

Ответы [ 6 ]

5 голосов
/ 19 мая 2010

Убедитесь, что HTTP-сжатие включено.Это поможет уменьшить объем HTML, но включение сжатия HTTP даст больше, чем незначительные улучшения, которые вы, вероятно, увидите.

Существуют различные способы включения сжатия в зависимости от вашей версии IIS.Например, в IIS 6.0 вы можете вручную отредактировать metabase.xml или запустить:

cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true 

. Вы можете проверить заголовки HTTP, чтобы убедиться, что сжатие включено, например, https://addons.mozilla.org/en-US/firefox/addon/3829/ Живые заголовки HTTP для Firefox.Проверьте заголовки на предмет «Content-Encoding: gzip».

4 голосов
/ 19 мая 2010

Не используйте страницу aspx, если вы хотите полный контроль. Создайте универсальный обработчик, и тогда вы сможете полностью контролировать каждый сгенерированный байт.

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

Посмотрите на ваш сгенерированный html и посмотрите, сможете ли вы выявить каких-либо явных виновников.

2 голосов
/ 19 мая 2010

Вы можете отключить режим просмотра и оптимизировать файлы изображений, если вы их используете.

1 голос
/ 19 мая 2010

Это может не принести существенной экономии, но вы также можете уменьшить разметку, серьезно подумав, следует ли использовать DIV для стилизации, когда непосредственное оформление содержимого даст тот же результат.

Например,


<div class="sidebar">
  <ul>
    <li>Lorem</li>
  </ul>
</div>

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


  <ul class="sidebar">
    <li>Lorem</li>
  </ul>

Но в вашем случае повторители, вероятно, являются основным источником вздутия. Убедитесь, что вы используете собственный шаблон для них с чистым HTML и не полагаетесь на готовый рендеринг, который может быть довольно грязным.

Как и кто-то другой опубликовал, отключите режим просмотра для любых элементов управления, в которых он вам не нужен - это ТОЛЬКО мусора в одиночку.

1 голос
/ 19 мая 2010

Возможно, вы захотите изучить сжатие IIS (в нем используется gzip IIRC). Это должно сбить размер файла.

Также уменьшите javascript / css (я сделал это и видел сокращение размера файла js / css до 40%), вот ссылка на книгу / веб-сайт, где говорится о других вещах, которые вы можете сделать: http://developer.yahoo.com/performance/rules.html, название книги "Высокопроизводительные веб-сайты", ISBN: 978-0-596-52930-7

1 голос
/ 19 мая 2010

Я рекомендую просмотреть эту статью, если вы используете ASP.Net Web Forms - объясняет, как правильно использовать ViewState:

http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx

...