Aracılığıyla paylaş


SessionStateUtility.RemoveHttpSessionStateFromContext(HttpContext) Yöntem

Tanım

Belirtilen bağlamdan oturum verilerini kaldırır.

public:
 static void RemoveHttpSessionStateFromContext(System::Web::HttpContext ^ context);
public static void RemoveHttpSessionStateFromContext (System.Web.HttpContext context);
static member RemoveHttpSessionStateFromContext : System.Web.HttpContext -> unit
Public Shared Sub RemoveHttpSessionStateFromContext (context As HttpContext)

Parametreler

context
HttpContext

HttpContext Oturum verilerinin kaldırılacağı yer.

Örnekler

Aşağıdaki kod örneği, özel bir oturum durumu modülünde olayın işleyicisini ReleaseRequestState gösterir. Olay işleyicisi geçerli HttpContext'den oturum verilerini kaldırır. Bu kod örneği, sınıfı için SessionStateUtility sağlanan daha büyük bir örneğin parçasıdır.

//
// 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);
}
'
' Event handler for HttpApplication.ReleaseRequestState
'
Private Sub OnReleaseRequestState(ByVal [source] As Object, ByVal args As EventArgs)
    Dim app As HttpApplication = CType([source], HttpApplication)
    Dim context As HttpContext = app.Context
    Dim sessionID As String

    ' Read the session state from the context
    Dim stateProvider As HttpSessionStateContainer = _
       CType(SessionStateUtility.GetHttpSessionStateFromContext(context), HttpSessionStateContainer)

    ' 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 Then
        Try
            pHashtableLock.AcquireWriterLock(Int32.MaxValue)

            sessionID = pSessionIDManager.GetSessionID(context)
            pSessionItems.Remove(sessionID)
        Finally
            pHashtableLock.ReleaseWriterLock()
        End Try

        SessionStateUtility.RaiseSessionEnd(stateProvider, Me, EventArgs.Empty)
    End If

  SessionStateUtility.RemoveHttpSessionStateFromContext(context)
End Sub

Açıklamalar

yöntemi, RemoveHttpSessionStateFromContext belirtilen HttpContext'den oturum verilerini temizler. Bir oturum durumu modülü, olay işleyicisinde ReleaseRequestState yöntemini çağırırRemoveHttpSessionStateFromContext.

Şunlara uygulanır