Поиск
 

Web-Приложения

Создание Web приложений на технологии ASP.NET

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

global.asax начало всех начал

Наверное многие из Вас хотели обработать события которые возникают в момент первого посещения сайта пользователем.
Например, вы хотите знать когда пользователь зашел или когда вышел или просто факт того что он был на сайте и тд.
Как же это сделать?
Но начнем не с пользователя а с приложения.
Как вы помните в совокупности все страницы ASP.NET входят в приложение
оно загружается как только к ниму происходит обращение.
Для того чтобы узнать это и другие события приложения используется файл global.asax
Добавляем файл в проект






Если вы откроете данный файл, то увидите что в нем уже есть шаблоны для 5 событий

1. Application_start отрабатывает когда загружается приложение



    void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup

    }




2. Application_End Приложение завершается
3. Application_Error ошибка в приложении
4. Session_Start - начинается сессия для нового пользователя
5. Session_End - Завершается сессия
Надо отметить что метод Session_End отрабатывает только тогда когда в настройках приложения Session State выставлено в InProc.

Давайте сделаем пример в котором будем подсчитывать текущее количество пользователей на сайте
Для этого в обработчик события Session Start добавим увеличение счетчика пользователей
а в Session End соответственно уменьшение
полный код будет выглядеть так



    void Application_Start(object sender, EventArgs e) 
    {
        Application["users"] = 0;
    }
    
    void Application_End(object sender, EventArgs e) 
    {
    }
        
    void Application_Error(object sender, EventArgs e) 
    { 
    }

    void Session_Start(object sender, EventArgs e) 
    {
        Application["users"] = Convert.ToInt32(Application["users"]) + 1;
    }

    void Session_End(object sender, EventArgs e) 
    {
        Application["users"] = Convert.ToInt32(Application["users"]) - 1;
    }



Предыдущая стр.    Оглавление    Следующая стр.
Средняя оценка: (1 - 1 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии