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 ,将当前会话项信息插入数据存储区或使用当前值更新数据存储区中的现有会话项信息,以更新项的过期时间,并释放对数据的锁定。 仅更新与提供的会话和lockId值匹配的当前应用程序的会话id数据。 有关锁定的详细信息,请参阅类概述中的 SessionStateStoreProviderBase “锁定会话存储数据”。

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

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

适用于

另请参阅