Чтение онлайн

на главную

Жанры

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Троелсен Эндрю

Шрифт:

В дополнение к строго типизованному объекту DataSet, мастер генерирует компонент данных (в данном случае с именем InventoryTableAdapter), инкапсулирующий соответствующее соединение, адаптер данных и объекты команд, которые используются при взаимодействии с таблицей Inventory.

public partial class InventoryTableAdapter : System.ComponentMоdel.Component {

 // Поля данных для доступа к данным.

 private System.Data.SqlClient.SqlDataAdapter m_adapter;

 private System.Data.SqlClient.SqlConnection m_connection;

 private System.Data.SqlClient.SqlCommand[] m_commandCollection;

 …

}

Также

этот компонент определяет пользовательские методы Fill и Update. настроенные на работу с вашим объектом CarsDataSet, в дополнение к множеству членов, используемых для вставки, обновления и удаления строк внутренней таблицы Inventory. Заинтересованные читатели могут самостоятельно выяснить детали реализации каждого из этих членов. При этом можно надеяться, что после всех усилий, которые вы затратили на освоение материала этой главы, соответствующий этим членам программный код не должен казаться вам совершенно незнакомым.

Замечание. Больше об объектной модели ADO.NET, а также о соответствующие мастерах Visual Studio 2005, вы узнаете из книги Сахила Малика, Microsoft ADO.NET 2.0 для профессионалов (пер. с англ, ИД "Вильямс", 2006 г.).

Резюме

ADO.NET является новой технологией доступа к данным, специально разработанной с учетом несвязных многоуровневых приложений. Пространство имен System.Data содержит большинство базовых типов, которые могут потребоваться для программного взаимодействия со строками, столбцами, таблицами и представлениями. При изучении материала главы вы могли убедиться в том, что в составе дистрибутива .NET предлагается множество поставщиков данных, позволяющих использовать как связный, так и несвязный уровни ADO.NET.

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

Основным объектом несвязного уровня является DataSet. Этот тип является размещенным в памяти "представителем" любого числа таблиц и любого числа их необязательных взаимосвязей, ограничений и условий. "Красота" создания отношений на базе локальных таблиц заключается в том, что вы получаете возможность программно исследовать их, отключившись от удаленного хранилища данных.

Здесь же была рассмотрена роль адаптера данных. Используя соответствующий тип (и соответствующие свойства SelectCommand, InsertCommand, UpdateCommand и DeleteCommand), вы получаете возможность согласовывать изменения данных в DataSet с оригинальным хранилищем данных.

ЧАСТЬ V. Web-приложения и Web-сервисы XML

ГЛАВА 23. Web-страницы и Web-элементы управления ASP.NET 2.0

До сих пор все примеры приложений в этой книге касались консольных приложений и приложений Windows Forms. В этой главе и далее мы выясним, каким образом платформа .NET упрощает задачу построения приложений о интерфейсом на основе браузера, Но сначала мы обсудим ряд ключевых для Web понятий (таких, как HTTP, HTML, сценарий клиента и сервера), а также роль Web-сервера (включая сервер разработки ASP.NET, WebDev.Webserver.exe),

На основе полученной информации в оставшейся части главы мы сконцентрируемся на компонентах ASP.NET (включая усовершенствованную модель страницы с внешним кодом поддержки) и на использовании Web-элементов управления ASP.NET. Вы увидите, что ASP.NET 2.0 предлагает целый ряд новых элементов управления, новую модель "шаблона" страницы и новые возможности настройки Web-страниц.

Роль HTTP

Web-приложения очень сильно отличаются от традиционных приложений для настольных систем. Первым очевидным отличием является то,

что любое реальное Web-приложение предполагает использование, как минимум, двух соединенных в сеть, машин (конечно, при разработке приложения вполне возможно, чтобы роли клиента и сервера играла одна машина). Задействованные машины должны согласовать использование определенного сетевого протокола для успешного осуществления отправки и приёма данных. Сетевым протоколом, соединяющим компьютеры в рассматриваемом нами случае, является протокол HTTP (Hypertext Transfer Protocol – протокол передачи гипертекста).

Когда машина-клиент запускает Web-браузер (такой, как Netscape Navigator, Mozilla Firefox или Microsoft Internet Explorer), генерируется HTTP-запрос доступа к конкретному ресурсу (например, к файлу *.aspx или *.htm) на удаленной машине-сервере. Протокол HTTP – это текстовый протокол, построенный на стандартной парадигме запросов и ответов. Например, при обращении кпрограммное обеспечение браузера использует Web-технологию, называемую сервисом DNS (Domain Name Service – служба имен доменов), которая позволяет превратить зарегистрированный адрес URL в 4-байтовое (32-разрядное) числовое значение (называемое IP-адресом). После этого браузер открывает сокет (обычно через порт с номером 80) и посылает HTTP-запрос странице, используемой Web-узломпо умолчанию. Осуществляющий хостинг Web-сервер получает поступающий HTTP-запрос, и указанный в запросе ресурс может содержать программную логику, способную прочитать значения, введенные клиентом (например, в окне текстового блока), чтобы сформировать HTTP-ответ, Разработчик Web-программы может использовать любые технологии (CGI, ASP, ASP.NET, сервлеты Java и т.д.), чтобы динамически генерировать содержимое HTTP-ответа. Затем браузер клиента отображает HTML-код, полученный от Web-сервера. На рис. 23.1 показана общая схема цикла запросов-ответов HTTP.

Рис. 23.1. Цикл запросов и ответов HTTP

Другой особенностью Web-разработки, заметно отличающей ее от программирования традиционных приложений, оказывается то, что протокол HTTP является сетевым протоколом, не сохраняющим состояние. Как только Web-сервер отправляет ответ клиенту, вся информация о предыдущем взаимодействии оказывается "забытой". Поэтому на вас, как Web-разработчика, возлагается задача принятия специальных мер, обеспечивающих "запоминание" соответствующей информации о клиентах, которые в настоящий момент оказываются зарегистрированными на вашем узле (такой информацией может быть, например, список товаров в корзине покупателя). В следующей главе вы сможете убедиться в том, что ASP.NET обеспечивает целый ряд способов обработки состояния, причем как стандартных для всех Web-платформ (это сеансовые переменные, файлы cookie и переменные приложения), так и новых (визуальные состояния, состояния элементов и кэш).

Web-приложения и Web-серверы

Под Web-приложением можно понимать коллекцию файлов (*.htm, *.asp, '*.aspx, файлы изображений и т.д.) и связанных компонентов (например, таких как библиотека программного кода .NET), хранимых в отдельном семействе каталогов на данном Web-сервере. Как будет показано в главе 24, Web-приложения имеют специфический цикл существования и поддерживают множество специальных событий (например, события начальной загрузки и окончательного завершения работы), которые вы можете обработать.

Web-сервер – это программный продукт, обеспечивающий хостинг для ваших Web-приложений, и, как правило, предлагающий целый ряд сопутствующих сервисов, таких как, например, интегрированные службы безопасности, поддержка FTP (File Transfer Protocol – протокол передачи файлов), службы обмена почтовыми сообщениями и т.д. Web-сервером производственного уровня является сервер IIS (Internet Information Server – информационный сервер Интернет) от Microsoft, который, как вы можете догадаться, предлагает внутреннюю поддержку и "классических" Web-приложений ASP, и Web-приложений ASP.NET.

Поделиться:
Популярные книги

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

На Ларэде

Кронос Александр
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На Ларэде

Охота на попаданку. Бракованная жена

Герр Ольга
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Охота на попаданку. Бракованная жена

Кай из рода красных драконов

Бэд Кристиан
1. Красная кость
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кай из рода красных драконов

Хозяйка Проклятой Пустоши. Книга 2

Белецкая Наталья
2. Хозяйка Проклятой Пустоши
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка Проклятой Пустоши. Книга 2

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Потусторонний. Книга 2

Погуляй Юрий Александрович
2. Господин Артемьев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Потусторонний. Книга 2

Чапаев и пустота

Пелевин Виктор Олегович
Проза:
современная проза
8.39
рейтинг книги
Чапаев и пустота

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

Лютая

Шёпот Светлана Богдановна
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Лютая

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4

Ученик

Губарев Алексей
1. Тай Фун
Фантастика:
фэнтези
5.00
рейтинг книги
Ученик

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5