Почему знание жизненного цикла Asp.net важно для кодирования в Asp.net? - PullRequest
5 голосов
/ 20 октября 2010

Почему знание жизненного цикла Asp.net важно для кодирования в Asp.net?

Ответы [ 10 ]

11 голосов
/ 20 октября 2010

Потому что в противном случае вы в конечном итоге сделаете ложные предположения о своем коде.

Никогда не стоит разрабатывать платформу, не понимая, как она работает.

Как минимум, все Разработчики ASP.Net должны понимать разницу между клиентским кодом (Javascript) и серверным кодом (C #) и тем, как работает модель обратной передачи.
Это также хорошая идея, чтобы понять ViewState и сессию.

8 голосов
/ 20 октября 2010

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

Что конкретно может пойти не так, если вы не знаете?

Некоторые примеры:

  • Если вы не понимаете порядок событий, вы можете в конечном итоге прочитать свойства элементов управления, прежде чем они будут восстановлены из ViewState
  • В конечном итоге вы можете попытаться записать вывод, если он слишком поздний (например, после времени предварительного рендеринга)
  • Вы можете в конечном итоге записывать свойства рано, только чтобы они были перезаписаны чем-то другим.
  • У вас могут возникнуть проблемы с попытками сделать что-то до создания дочерних элементов управления.

и многое другое. Короче говоря - это важно, поэтому вам нужно это знать.

4 голосов
/ 20 октября 2010

<BadAnalogy> По той же самой причине, что знание того, как работает нумерация страниц, важно для чтения книги </BadAnalogy>

Большую часть времени вы можете прекрасно обходиться без понимания жизненного цикла страницы, однаковремя от времени вы будете сталкиваться с чем-то, что вы не можете объяснить, пока не поймете жизненный цикл - это будет происходить с увеличением частоты, по мере того, как вы будете продвигаться.(вам не нужно знать , просто понять это), и хорошее понимание того, как работает жизненный цикл страницы, даст вам гораздо лучшее понимание того, как ASP.Netработает, что, в свою очередь, сделает использование ASP.Net намного проще.

2 голосов
/ 20 октября 2010

Поскольку ASP.NET использует сложную объектную модель, важно знать, потому что:

  • Вы можете устранять неполадки или учиться использовать ViewState.
  • Это полезно знать дляпользовательские элементы управления или пользовательские элементы управления (поскольку они также имеют одинаковый жизненный цикл за исключением некоторых событий жизненного цикла страницы).Пользовательские элементы управления могут взаимодействовать со страницей в течение этого жизненного цикла.
  • Полезно отлаживать проблемы состояния, связанные с изменением их значений компонентами (раньше это было значение X, теперь это значение Y в этом жизненном цикле обратной передачи, возвращалось ли оно изсервер таким образом, или он был изменен во время загрузки?)
  • Вы можете узнать, как создавать пользовательские компоненты, чтобы использовать преимущества жизненного цикла и сократить общее кодирование (с помощью модуля или пользовательского класса страницы,или что-то).

HTH.

0 голосов
/ 20 октября 2010

Существует причина, по которой Visual Studio генерирует для вас обработчик Page_Load - вы можете создать веб-сайт, который можно легко обслуживать, используя его только в жизненном цикле страницы.

Знание жизненного цикла (и как искать ссылку, когдавам это нужно) важно, потому что в конечном итоге вы будете делать что-то в Page_Load, что не работает.Вероятно, первое, с чем вы столкнетесь, это то, что события управления происходят Page_Load, и вы захотите что-то сделать после этих событий управления.Итак, вы загрузите хорошую ссылку Page Lifecycle и увидите, что Page_LoadComplete придет после этого, так что вы справитесь даже с этим, и все снова отлично работает.

0 голосов
/ 20 октября 2010

Моя первая пара приложений asp.net была написана с минимальными знаниями жизненного цикла, но это были только небольшие приложения (простая фотогалерея и картографическое приложение).

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

0 голосов
/ 20 октября 2010

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

Например.Если вы используете динамические элементы управления и добавляете их в Page_load, события могут не срабатывать.Те же элементы управления и события будут работать нормально, если вы инициализируете код в Page_init.

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

http://msdn.microsoft.com/en-us/library/ms178472.aspx

0 голосов
/ 20 октября 2010

Знание жизненного цикла asp.net означает знание того, что, когда и где: что делать при возникновении события и где оно будет применено.

Вам нужно знать не только по причине «экономии большого количества времени», но и для создания веб-сайта с учетом хорошей практики.

Счастливое кодирование

0 голосов
/ 20 октября 2010

Жизненный цикл и viewstate являются двумя наиболее важными аспектами ASP.net. Не зная жизненного цикла, вы столкнетесь с множеством проблем с viewstate, динамическими элементами управления и т. Д. Знание этого сэкономит вам массу времени!

0 голосов
/ 20 октября 2010

По крайней мере, вы должны знать, что ASPX с жизненным циклом страницы несет много накладных расходов и выбирать что-то более простое, например, обработчик Http (ashx), когда это уместно.

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