Относительно методов Session_End и Application_End в asp.net

Я пытаюсь реализовать класс (давайте назовем его классом CustomerConnection), который реализует интерфейс System.Web.HttpApplication. Я попытался реализовать два события session_end и application_end в этом классе следующим образом:

public class CustomerConnection: System.Web.HttpApplication
{


    protected void Session_End(object sender, EventArgs e)
    {
        HttpApplication application = (HttpApplication)sender;
        HttpContext context = application.Context;
        SqlConnection connection = context.Items[Database_Con] as SqlConnection;
        connection.close();

    }

    protected void Application_End(object sender, EventArgs e)
    {
        HttpApplication application = (HttpApplication)sender;
        HttpContext context = application.Context;
        //someotherEvent
    }

Но кажется, что эти события не выполняются ни для завершения приложения, ни для выхода из сеанса.

Как мне сделать так, чтобы эти события выполнялись? Это как будто я должен уведомить какое-то другое событие?

Я просто создаю новый объект класса клиента. Достаточно ли выполнить эти события или мой подход в корне неверен?

Пожалуйста, помогите мне

Спасибо в ожидании

2 ответа

Решение

Вам нужно это в global.asax:

<%@ Application Language="C#" Inherits="CustomerConnection"%>

Предостережение, я никогда не пробовал это, я нашел это здесь: http://www.codedigest.com/Articles/ASPNET/34_Adding_CodeBehind_for_Gloabalasaz_x_file_in_aspnet_20.aspx

Созданный вами объект не связан ни с чем, поэтому он не может получать никаких событий из приложения. Вы должны поместить обработчики событий в объект, который используется для веб-приложения, то есть в файл Global.asax.cs.

Кроме того, нет Session_End событие, это Session_OnEnd,

Другие вопросы по тегам