0

System.Web.HttpApplication インターフェイスを実装するクラス (CustomerConnection クラスと呼びましょう) を実装しようとしています。この方法で、このクラスに session_end イベントと application_end イベントの 2 つのイベントを実装しようとしました。

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 に答える