ГЛАВА 11 Web-формы: приложения на основе ASP.NET для работы с базами данных
До сих пор демонстрировались различные способы работы с базой данных на разных этапах создания приложения и способы использования результатов выполнения приложения (на основе объектов DataSet, DataAdapter и Connection). В этой главе эти способы комбинируются для просмотра информации из базы данных в Web-среде с помощью Web-броузера. В контексте платформы.NET Framework Web-страница, которая применяется для извлечения или вставки данных, называется Web-формой (WebForm). Прежде, при создании приложения с помощью технологии ASP, единственным способом извлечения данных из реляционной базы данных было применение объектов ADODB.Connection и ADODB.Recordset. С появлением платформы .NET модель ADO.NET позволяет использовать не только новые классы и параметры, но и встроенную поддержку для работы с XML-данными так, как если бы они были элементами базы данных. Описание новых способов работы на основе технологии ASP .NET начинается с базовых сведений, а затем приводятся более сложные понятия.
Обзор технологии ASP.NET
После изобретения возможностей использования серверного кода для создания Web-страниц разработчики пытались найти способы его упрощения для конечных пользователей и разработчиков. Рассмотрим следующую бизнес-ситуацию: пользователи могут осуществлять доступ к Web-узлу, получать базовую контактную информацию и звонить по телефону для оформления заказа. (Не так давно именно такими ограниченными возможностями обладали все Web-узлы электронной коммерции.) Проблема заключается в том, что пользователи при этом хотели бы видеть выставленные на продажу товары, причем таких пользователей может быть очень много.
Для организации такого взаимодействия с Web-узлом начали появляться разные языки и технологии создания сценариев. Одной из таких технологий является технология активных серверных страниц (Active Server Pages — ASP). Она предоставляет средства вставки в Web-страницу кода, который выполняется во время обработки Web-сервером поступившего запроса. В контексте разработки приложений эта новинка была революционной: по крайней мере теперь разработчики могли использовать сценарий на языке VBScript, который выполняется на сервере. Этот тип взаимодействия постепенно начал превосходить другие подходы на основе языков JavaScript и ActiveX. Кроме того, язык VBScript был расширен таким образом, чтобы вызывать компилированные COM-объекты на Web-сервере и включать их функции в Web-страницу. На этом этапе появился Microsoft Transaction Server, который теперь называется набором компонентных служб Component Services.
Итак, что же произойдет при смешении серверного кода, клиентских сценариев, а также кода, откомпилированного для обеспечения безопасности и масштабируемости. Именно эти компоненты и образуют основу технологии ASP.NET. Полученный в результате такой комбинации ASPX-файл позволяет использовать мощный серверный код, основанный на полноценном языке программирования, которым привыкли пользоваться разработчики. Теперь поддержка языков программирования С#, Visual Basic, C++, FoxPro, Perl, COBOL и Fortran осуществляется благодаря общеязыковой исполняющей среде (Common Language Runtime — CLR), и эти языки могут использоваться в специальных Web-страницах для более полного удовлетворения требований пользователей.
Кроме того, все ASPX-файлы компилируются и кэшируются, т.е. после использования ASPX-страницы она компилируется во временный DLL-файл, который фактически выполняет всю работу при поступлении следующих запросов. В результате повышается производительность и уменьшается время задержки ответа на запрос.
HTML-элементы управления и серверные элементы управления
Еще одной новинкой технологии ASP.NET является использование серверных элементов управления. Серверный элемент управления кодируется в Web-странице, а все его события и свойства обрабатываются Web-сервером. Серверные элементы управления аналогичны HTML-элементам управления, но обладают существенными преимуществами.
Любому разработчику, которому приходилось создавать Web-страницу с формой ввода данных, уже известны HTML-элементы управления. Для программирования формы ввода данных используется элемент FORM вместе с несколькими элементами INPUT, например для создания текстового поля, списка или флажка, как показано ниже.
<input type="text" name="txtxName" value=" ">
Элемент INPUT также доступен в технологии ASP.NET, но для работы с его содержимым требуется создать клиентский или серверный сценарий. В рассматриваемой бизнес-ситуации поставлена задача обеспечить полную совместимость созданного приложения со всеми типами Web-броузеров. При использовании клиентского сценария всегда существует вероятность, что какой-то Web-броузер не поддерживает данный сценарий либо выполнение сценариев отключено по соображениям безопасности. Для исключения этих проблем и предназначены серверные элементы управления.