SessionStateUtility.RemoveHttpSessionStateFromContext(HttpContext) 方法        
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从指定上下文中移除会话数据。
public:
 static void RemoveHttpSessionStateFromContext(System::Web::HttpContext ^ context);public static void RemoveHttpSessionStateFromContext(System.Web.HttpContext context);static member RemoveHttpSessionStateFromContext : System.Web.HttpContext -> unitPublic Shared Sub RemoveHttpSessionStateFromContext (context As HttpContext)参数
- context
- HttpContext
要从其中移除会话数据的 HttpContext。
示例
下面的代码示例演示自定义会话状态模块中 事件的处理程序 ReleaseRequestState 。 事件处理程序从当前 HttpContext中删除会话数据。 此代码示例是为 SessionStateUtility 类提供的一个更大示例的一部分。
//
// 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
注解
方法 RemoveHttpSessionStateFromContext 从指定的 HttpContext清除会话数据。 会话状态模块将在 事件的处理程序ReleaseRequestState中调用 RemoveHttpSessionStateFromContext 方法。