Относительно методов 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
,