SessionStateStoreProviderBase.SetAndReleaseItemExclusive 方法

定义

使用当前请求中的值更新会话状态数据存储中的会话项信息,并清除对数据的锁定。

public:
 abstract void SetAndReleaseItemExclusive(System::Web::HttpContext ^ context, System::String ^ id, System::Web::SessionState::SessionStateStoreData ^ item, System::Object ^ lockId, bool newItem);
public abstract void SetAndReleaseItemExclusive(System.Web.HttpContext context, string id, System.Web.SessionState.SessionStateStoreData item, object lockId, bool newItem);
abstract member SetAndReleaseItemExclusive : System.Web.HttpContext * string * System.Web.SessionState.SessionStateStoreData * obj * bool -> unit
Public MustOverride Sub SetAndReleaseItemExclusive (context As HttpContext, id As String, item As SessionStateStoreData, lockId As Object, newItem As Boolean)

参数

context
HttpContext

当前 HttpContext 请求。

id
String

当前请求的会话标识符。

item
SessionStateStoreData

SessionStateStoreData包含要存储的当前会话值的对象。

lockId
Object

当前请求的锁标识符。

newItem
Boolean

true 将会话项标识为新项; false 将会话项标识为现有项。

示例

有关会话状态存储提供程序实现的示例,请参阅 “实现 Session-State 存储提供程序”。

注解

对象 SessionStateModule 在请求结束时调用 SetAndReleaseItemExclusive 该方法,在事件期间 ReleaseRequestState 将当前会话项信息插入数据存储中,或使用当前值更新数据存储中的现有会话项信息,以更新项的过期时间,以及释放对数据的锁。 仅更新与提供的会话和id值匹配的当前应用程序的会话lockId数据。 有关锁定的详细信息,请参阅类概述中的 SessionStateStoreProviderBase “锁定会话存储数据”。

如果当前请求的会话值尚未修改, SetAndReleaseItemExclusive 则不会调用该方法。 ReleaseItemExclusive而是调用该方法。

Abandon如果已调用该方法,SetAndReleaseItemExclusive则不调用该方法。 相反,对象 SessionStateModule 调用 RemoveItem 该方法从数据源中删除会话项数据。

适用于

另请参阅