Сайт создан по материалам книги Г. Бучека "Учебный курс по ASP.NET".
Москва: BHV, 2002.
Создатель сайта-выпускник курсов web-дизайнеров Сафоновского Колледжа Информационных Технологий Максим Котликов |
||||
Что еще нужно знать об ASP.NETПараметры приложения и сеансаПредлагаемый вашему вниманию раздел содержит материал о процессе создания и способах использования приложения ASP.NET, а также обзор способов сохранения значений переменных вне области видимости сеанса и приложения. Создание приложения ASP.NETНекоторые примеры требуют указывать серверу IIS то, что набор ASP.NET-страниц является единым приложением. Преимущество такого подхода состоит в возможности совместного использования переменных приложения, а также переменных сеанса и файла, в котором хранится общий код, выполняемый при наступлении определенных событий. Для задания корневой папки приложения ASP.NET необходимо перейти в окно консоли управления IIS, щелкнуть правой кнопкой мыши на имени нужной папки в левой части и активизировать в контекстном меню команду Свойства (Properties). В результате отобразится диалоговое окно, изображенное на рис. Удостоверьтесь в том, что находитесь на вкладке Каталог (Directory). В нижней части вкладки расположена область Параметры приложения (Application Settings). Для создания приложения ASP.NET щелкните на кнопке Создать (Create). Вследствие этого диалоговое окно приобретет вид, как на рис. ![]() Свойства папки ![]() Окно создания приложения ASP.NET Файл Global.asax, объекты приложения и сеансаФайл Global.asax — это текстовый файл, который хранится в корневой папке приложения ASP.NET. Он содержит коды, которые должны выполняться при наступлении любого из четырех событий, описанных в табл. Данные события предназначены для выполнения кода или создания переменных, которые существуют до тех пор, пока существует программа или пока посетитель пребывает на узле. За счет этого можно сохранять регистрационную информацию, неизменные данные для Web-узла или постоянные соединения с источниками данных. Ниже приведен пример файла Global.asax.
Sub Application_OnStart Application("Discount") =1 End Sub Sub Application>_OnEnd
Sub Session_OnStart Session("LoginEmpID") = " " End Sub Sub Session_OnEnd
События для файла Global.asax
</script>
Переменные приложения и сеанса обладают таким важным свойством, как область видимости. Для переменной приложения областью видимости является приложение, то есть переменную и ее значение можно использовать в течение периода жизни приложения (пока оно выполняется). Областью видимости переменной сеанса является сеанс взаимодействия посетителя с приложением. Следующая строка кода создает переменную приложения с именем Discount:
Значение созданной переменной может быть использовано в любом месте кода приложения ASP.NET. Это очень удобно. Теперь одно и то же значение (например, величину скидки) можно не задавать на десяти различных страницах, а указать в одном месте, и оно будет доступно везде. Если потребуется указать другую величину скидки, изменить значение придется только в одном месте. Таким же образом присваиваются значения переменным сеанса. Такие переменные позволяют контролировать, например, процесс формирования заказа, когда посетитель выбирает множество товаров в электронном магазине, или обеспечивать конфиденциальность при переходе пользователя со страницы на страницу. Сеанс начинается, когда посетитель впервые входит на Web-узел, и заканчивается, если в течение определенного периода не выполняются действия или в коде явно указано завершение сеанса. Для управления сеансами применяются свойство Timeout и метод Abandon объекта Session. Значением свойства Timeout является продолжительность тайм-аута в минутах, в течение которых посетитель может не выполнять запросы. Предположим, в коде указано следующее:
Сеанс посетителя завершится по истечении 30 минут без запроса страницы. Явно завершить сеанс позволяет метод Abandon:
Этот метод используется в рассматриваемых примерах для создания кнопки, позволяющей посетителю выйти из приложения в любой момент, а также для завершения сеанса после того, как заказ посетителя сформирован и обработан. Как только сеанс завершается (явно или вследствие превышения тайм-аута), выполняется код, заданный в файле Global.asax для события Session OnEnd. |
||||