0

我正在尝试实现一个实现 System.Web.HttpApplication 接口的类(我们称之为 CustomerConnection 类)。我尝试以这种方式在这个类中实现两个事件 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
    }

但似乎这些事件在应用程序结束或会话注销时都没有执行。

我应该如何让这些事件得到执行?是不是我必须通知某些其他事件?

我只是在创建一个新的客户类对象。执行这些事件是否足够,或者我的方法从根本上是错误的?

请帮帮我

感谢期待

4

2 回答 2

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

于 2011-04-16T15:13:10.890 回答
0

您创建的对象没有连接到任何东西,因此它无法从应用程序接收任何事件。您必须将事件处理程序放在用于 Web 应用程序的对象中,即放在 Global.asax.cs 文件中。

此外,没有Session_End事件,它是Session_OnEnd

于 2011-04-16T14:50:51.380 回答