Улучшите производительность приложения ASP.NET

Достаточно простой:

for(var propertyName in myObject) {
   // propertyName is what you want
   // you can get the value like this: myObject[propertyName]
}

Теперь, Вы не получите частные переменные этот путь, потому что они не доступны.

РЕДАКТИРОВАНИЕ: @bitwiseplatypus корректен, что, если Вы не используете hasOwnProperty() метод, Вы получите свойства, которые наследованы - однако, я не знаю, почему любой знакомый с объектно-ориентированным программированием ожидал бы что-либо меньше! Как правило, кто-то, который поднимает это, был подвергнут предупреждениям Douglas Crockford об этом, которые все еще смущают меня немного. Снова, наследование является нормальной частью языков OO и является поэтому частью JavaScript, несмотря на него являющийся формирующим прототип.

Теперь, однако hasOwnProperty() полезны для фильтрации, но мы не должны звучать как предупреждение, как будто существует что-то опасное в получении унаследованных свойств.

РЕДАКТИРОВАНИЕ 2: @bitwiseplatypus поднимает ситуацию, которая произошла бы, должен кто-то добавить свойства/методы к Вашим объектам в моменте времени позже чем тогда, когда Вы первоначально записали свои объекты (через его прототип) - в то время как это верно, что это могло бы вызвать неожиданное поведение, я лично не рассматриваю что как свою проблему полностью. Просто дело вкуса. Кроме того, что, если я разрабатываю вещи таким способом, которым я использую прототипы во время конструкции моих объектов и все же имею код, который выполняет итерации по свойствам объекта и я хочу все унаследованные свойства? Я не использовал бы hasOwnProperty(). Затем скажем, кто-то добавляет новые свойства позже. Тот мой отказ то, если вещи ведут себя плохо в той точке? Я не думаю так. Я думаю, что это - то, почему jQuery, как пример, определил способы расшириться, как он работает (через jQuery.extend и jQuery.fn.extend).

8
задан Sauron 11 September 2009 в 04:54
поделиться

7 ответов

В книге Повышение производительности и масштабируемости приложений .NET есть глава Повышение производительности ASP.NET , которую, возможно, стоит прочитать. Полная книга находится на сайте MSDN, а также доступна в виде PDF-файла для загрузки .

1
ответ дан 5 December 2019 в 12:11
поделиться

старайтесь избегать ненужных обратных передач на страницы, есть много функций, которые вы можете реализовать с помощью таких вещей, как jQuery или ExtJs framework. Узнайте, как выполнять вызовы AJAX и передавать информацию между вашим приложением и сервером через наборы результатов JSON.

Кроме того, установите такие приложения, как FireBug и YSlow, и используйте их для анализа вашего приложения и следуйте их рекомендациям по ускорению вашего приложения. Удачи!

2
ответ дан 5 December 2019 в 12:11
поделиться

Вот отрывок из книги, которую написали Джефф, Фил и К. Скотт Аллен: 8 советов по производительности ASP.NET . Ему несколько лет, но по большей части он неподвластен времени.

Мой контрольный список:

  1. Узнайте, что тормозит, протестировав
  2. Кэшируйте все, что вы можете (кеш приложения, кеш вывода и т. Д.)
  3. Уменьшить страницу размер (исключить состояние просмотра, сжать изображения, использовать CSS вместо встроенных стилей и т. д.)
  4. Выяснить, какие внешние зависимости замедляют вашу работу (худшие запросы, веб-сервисы и т. д.).
  5. Передать обработку клиенту (jQuery для фильтрации или двусторонних обращений к серверу для повторного запроса)
1
ответ дан 5 December 2019 в 12:11
поделиться

Используйте профилировщик .NET CLR, чтобы определить, где оптимизация будет полезна.

http://msdn.microsoft.com/en-us/magazine/cc301839.aspx

0
ответ дан 5 December 2019 в 12:11
поделиться
  1. HTTP-сжатие
  2. Отключить возможные изменения ViewState
  3. в файле Web.Config: Использовать кеширование страниц, Удалите ненужные httpModules, Отключить след, Отключено автоматическое сохранение профилей, Установите debug = false.
  4. Реализовать зависимость кэша
  5. Оптимизировать таблицы стилей
  6. Оптимизировать JavaScript
  7. Положение файла JS и CSS
  8. server.transfer () вместо response.redirect ()
  9. На стороне клиента Скрипт для проверки
2
ответ дан 5 December 2019 в 12:11
поделиться

Я написал об этом книгу, которая только что была выпущена, под названием Сверхбыстрый ASP.NET: создание сверхбыстрых и сверхвысоких масштабируемых веб-сайтов с использованием ASP.NET и SQL Server .

В книге около 500 страниц, так что вы можете многое сделать на всех уровнях: клиент (структура HTML / JavaScript), IIS, ASP.NET, SQL Server, инфраструктура и т. Д.

4
ответ дан 5 December 2019 в 12:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: