Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #28, МАРТ 2003 г.

ASP.NET ИЛИ ВСЕ-ТАКИ ЕСТЬ? - Что ждать от M$?

Pony (pony@xakep.ru)

Спецвыпуск Xakep, номер #028, стр. 028-024-2


В ASP.NET исполняемый код и html-код разделены - они находятся в двух разных файлах. Файл представления (там, где лежит html-код) имеет расширение aspx. В нем на первой строке обязательно присутствует ссылка на файл с исполняемым кодом: <%@ Page Language="vb" Codebehind="WebForm1.aspx.vb" %>.

Оба рекомендованных языка (C# и VB.NET) поддерживают принципы объектно-ориентированного программирования, оба они имеют развитую систему типов переменных. Но работать все же удобней на C#. Уже сейчас существует поддержка .NET Framework под W2Kserver, и многие программеры уже приступили к разработке ASP.NET приложений. Если судить по количеству мессаг на форумах об ASP.NET, то их количество по теме "C#" превышает количество сообщений по теме "VB.NET" в 10 раз. Так что тебе решать, на чем ты будешь кодить в будущем.

ADO.NET

Соединения с источником данных во многих web-прогах - самое тормозззное место. И золотым правилом здесь всегда было: открывай соединение как можно позже, а закрывай его как можно раньше. Но в классической модели ADO получалось как раз наоборот: закрытие соединения происходит только после обработки всех полученных данных. Логика работы ADO такова: устанавливаем соединение с источником данных, считываем данные, выводим их в html-файл, закрываем соединение.

В новой версии ADO - в ADO.NET - почти все стало по-другому. Сначала устанавливается соединение. Причем классы (не забывай про ООП) для работы с ADO.NET делятся на классы для работы с ODBC, для работы с OLE DB и для работы с Microsoft SQL Server. Кстати, раньше отдельной поддержки MSSQL Server не было - в ADO поддержка MSSQL Server была реализована через OLE DB. Данные считываются в промежуточный объект DataSet (аналог набора записей в ADO - объект Recordset). Объект DataAdapter (SqlDataAdapter для MSSQL Server) играет роль посредника между объектом DataSet и источником данных в операциях выборки и сохранения данных. После заполнения объекта DataSet с помощью метода Fill объекта DataAdapter соединение можно закрывать. Все операции по выводу данных клиенту можно осуществлять после разрыва соединения. При доступе к данным, когда не требуется производить изменения записей, можно использовать еще один объект ADO.NET - DataReader. Можно сказать, что DataSet - это аналог статического курсора в ADO, а DataReader - аналог курсора только для чтения и прокрутки только вперед. Также в ADO.NET есть аналог объекта Command.

Назад на стр. 028-024-1  Содержание  Вперед на стр. 028-024-3