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

Недостатки классического ASP

Если ранее вы программировали только с помощью классического ASP, вас может интересовать, почему Microsoft изменила в ASP.NET всё. Изучение совершенно новой среды не является тривиальным, к тому же с .NET связано множество концепций и несколько серьезных "подводных камней".

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

Запутанный код

Если вы ранее создавали приложения с помощью ASP, то наверняка сталкивались с длинными страницами, содержащими код серверных сценариев вперемешку с HTML. Рассмотрим следующий пример, заполняющий выпадающий список HTML результатами запроса к базе данных:

<%
  Set dbConn = Server.CreateObject("ADODB.Connection")
  Set rs = Server.CreateObject("ADODB.Recordset")
  dbConn.Open connectionString
%>
<select name="cboAuthors">
<%
  rs.Open "SELECT * FROM Authors", dbConn, 3, 3
  Do While Not rs.EOF
%>
<option value="<%=rs("au_id")%>"><%=rs("au_lname") & ", " & _
  rs("au_fname")%></option>
<%
  rs.MoveNext
  Loop
</select>

Как видно в примере, понадобилось невыразительных 16 строк кода для генерирования одного простого элемента управления HTML. Более того, такой стиль кодирования снижает производительность приложения, поскольку смешивает код HTML и код сценария. Когда эта страница обрабатывается расширением интерфейса ASP ISAPI (интерфейс прикладного программирования Internet-сервера), работающим на Web-сервере, сценарный механизм должен включиться и выключиться несколько раз лишь для того, чтобы обработать этот отдельный запрос. Это увеличивает количество времени, необходимого для обработки и отправки клиенту всей страницы.

предыдущая    следующая страница   оглавление

34

Hosted by uCoz