This documentation is archived and is not being maintained.

SessionStateUtility.RaiseSessionEnd Method

Executes the Session_OnEnd event defined in the Global.asax file for the ASP.NET application.

Namespace:  System.Web.SessionState
Assembly:  System.Web (in System.Web.dll)

public static void RaiseSessionEnd(
	IHttpSessionState session,
	Object eventSource,
	EventArgs eventArgs
)

Parameters

session
Type: System.Web.SessionState.IHttpSessionState

The IHttpSessionState implementation instance for the session that has ended.

eventSource
Type: System.Object

The event source object to supply to the Session_OnEnd event.

eventArgs
Type: System.EventArgs

The EventArgs object to supply to the Session_OnEnd event.

The RaiseSessionEnd method is used by a session-state module to execute the Session_OnEnd event defined in the Global.asax file for an ASP.NET application. A session-state module will call the RaiseSessionEnd method when a session has been abandoned, or if the session expires.

The following code example shows the handler for the ReleaseRequestState event in a custom session-state module. If the session has been abandoned, the module executes the Session_OnEnd event defined in the Global.asax file for the application using the RaiseSessionEnd method. This code example is part of a larger example provided for the SessionStateUtility class.

// 
// Event handler for HttpApplication.ReleaseRequestState 
// 

private void OnReleaseRequestState(object source, EventArgs args)
{
    HttpApplication app = (HttpApplication)source;
    HttpContext context = app.Context;
    string sessionID;

    // Read the session state from the context
    HttpSessionStateContainer stateProvider =
      (HttpSessionStateContainer)(SessionStateUtility.GetHttpSessionStateFromContext(context));

    // If Session.Abandon() was called, remove the session data from the local Hashtable 
    // and execute the Session_OnEnd event from the Global.asax file. 
    if (stateProvider.IsAbandoned)
    {
        try
        {
            pHashtableLock.AcquireWriterLock(Int32.MaxValue);

            sessionID = pSessionIDManager.GetSessionID(context);
            pSessionItems.Remove(sessionID);
        }
        finally
        {
            pHashtableLock.ReleaseWriterLock();
        }

        SessionStateUtility.RaiseSessionEnd(stateProvider, this, EventArgs.Empty);
    }

    SessionStateUtility.RemoveHttpSessionStateFromContext(context);
}

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Show: