380 MGraphics.ru - ASP.NET - Веб-приложение и сессия, обработка глобальных событий
Уроки photoshopa


ASP.NET

Веб-приложение и сессия, обработка глобальных событий

Условия перепечатки материалов

Рейтинг статьи: 66666
Проголосовало 2 человека.
Оцените статью:

Веб-приложение и сессия, обработка глобальных событий

До сих пор мы рассматривали работу ASP.NET в пределах одного запроса. Нажали кнопку - получили результат. На практике при работе с Web-приложениями к цели ведут десятки вщаимосвязанных запросов, делающихся на разных страницах. Что объединяет страницы приложения в одно целое?

В ASP.NET есть специальный класс - HttpApplication, представляющий все приложение. Он контролирует его общее состояние, и обрабатывает глобальные события.

В основном этот класс используется для хранения объектов уровня приложения. Он предоставляет словарь для хранения обънетов, который доступен в любое время с любой страницы.

Также в ASP.NET присутствует другой тип окружения - сессия. Сессия объединяет серию запросов с одного адреса в течении некоторого времени. В пределах сессии можно контролировать текущего пользователя, так что именно в сессии удобно отслеживать последоавтельность действий. Параметры сессии также доступны в виде словаря через индексатор со строковым параметром.

Текущая сессия и приложение доступны с любой страницы через свойства Session и Application, так что получить доступ к ним очень просто.

Еще одной глобальной вещью является обработка событий уровня приложения. Это события вроде: "на одной из страниц приложения началась обработка запроса" или "на какой-то странице произошла ошибка". Такие события обрабатываются в коде файла global.asax.

Вот пример такого файла:

Global.asax

<%@ Application Codebehind="Global.asax.cs" Inherits="Global" %>
    
Global.asax.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;

    /// 
    /// Summary description for Global.
    /// 
    public class Global : System.Web.HttpApplication
    {
        public Global()
        {
        }   
        
        protected void Application_Start(Object sender, EventArgs e)
        {
            // Обработка старта приложения
        }
 
        protected void Session_Start(Object sender, EventArgs e)
        {
            // Обработка открытия сессии
        }

        protected void Application_BeginRequest(Object sender, EventArgs e)
        {
            // Обработка начала запроса
        }

        protected void Application_EndRequest(Object sender, EventArgs e)
        {
            // Обработка окончания запроса
        }

        protected void Application_Error(Object sender, EventArgs e)
        {
            // Обработка ошибки приложения
        }

        protected void Session_End(Object sender, EventArgs e)
        {
            // Обработка закрытия сессии
        }

        protected void Application_End(Object sender, EventArgs e)
        {
            // Обработка останова приложения
        }
    }
    

Copyright by © 2000-2004 dotSITE
Автор:
Автор:

Разместил: Vulko
Опубликовано: 03.07.2004
Статья "ASP.NET - Веб-приложение и сессия, обработка глобальных событий" прочтена 33811 раз.





Последние новости