Для разработки web-приложений на платформе .NET используется библиотека классов ASP.NET. Наиболее важными классами в данной библиотеке являются классы HttpApplication, HttpApplicationState, HttpRequest, HttpResponse и Page. Web-приложение представляет собой набор взаимосвязанных файлов, расположенных в виртуальном каталоге (virtual directory) на web-сервере.
Класс HttpApplication - предназначен для обработки событий, общих для всего web-приложения. Объект класса, являющего потомком HttpApplication, создается динамически во время выполнения приложения. Для обработки событий уровня приложения в проект следует добавить файл global.aspx. В файле global.aspx могут быть определены обработчики событий запуска и завершения приложения, а также обработки возникающих ошибок.
Класс HttpApplicationState - предназначен для хранения в оперативной памяти данных, общих для всех сеансов web-приложения. Объект класса HttpApplicationState создается динамически при первом обращении пользователя к любому ресурсу web-приложения. Доступ к объекту состояния приложения HttpApplicationState можно получить через свойство Application класса Page. Для сохранения значения в состоянии приложения используется следующий синтаксис:
Application["имя значения"]=значение;
Для чтения значения из состояния приложения используется следующий синтаксис:
object переменная=Application["имя значения"];
Класс HttpRequest - предназначен для чтения параметров запроса HTTP, отправленного пользователем. С помощью объекта HttpRequest можно получить информацию о переданных в запросе переменных, о возможностях браузера, используемого пользователем, об IP-адресе компьютера пользователя, о клиентских cookie и т.д. Доступ к объекту запроса HttpRequest можно получить через свойство Request класса Page. Для чтения значения, переданного в запросе HTTP методом GET или POST, используется следующий синтаксис:
string переменная=Request["имя значения"];
Таким же образом можно получить доступ к значениям клиентских cookie.
Класс HttpResponse - предназначен для формирования кода страницы на языке HTML (или XML), которая должна быть возвращена браузеру пользователя. Доступ к объекту запроса HttpResponse можно получить через свойство Response класса Page. Для формирования содержимого страницы используется метод void Write(string s) класса HttpResponse.
Класс Page - является базовым классом для всех web-страниц приложения. При добавлении в проект новой web-страницы создается два файла с расширением *.aspx и *.aspx.cs. Файл с расширением *.aspx содержит код на языке HTML и может быть изменен либо с помощью редактора HTML, либо с помощью визуального редактора, входящего в состав Visual Studio. В заголовке файла *.aspx находятся следующая строка:
<%@ Page Language="язык" AutoEventWireup="true" CodeFile="*.aspx.cs" Inherits="класс" %>
В параметре Language указывается язык, на котором будут написаны серверные обработчики событий страницы, в параметре CodeFile указывается имя файла, в котором будут написаны серверные обработчики событий страницы (расширение cs указывает на то, что программный код будет написан на языке C#), в параметре Inherits указывается имя класса, потомка класса Page, в котором будут определены серверные обработчики событий страницы.
В библиотеке ASP.NET определено много различных серверных элементов управления, которые могут быть размещены на web-странице (Web server controls). Серверные элементы управления обрабатываются на сервере перед тем, как пользователь получит в браузере запрашиваемую web-страницу. При формировании кода возвращаемой web-страницы каждый серверный элемент управления преобразуется в один или несколько тегов HTML. В дополнение к стандартным серверным элементам управления можно разработать пользовательские элементы управления.