SessionStateStoreProviderBase.CreateUninitializedItem Метод

Определение

Добавляет новый элемент состояния сеанса в хранилище данных.

public:
 abstract void CreateUninitializedItem(System::Web::HttpContext ^ context, System::String ^ id, int timeout);
public abstract void CreateUninitializedItem (System.Web.HttpContext context, string id, int timeout);
abstract member CreateUninitializedItem : System.Web.HttpContext * string * int -> unit
Public MustOverride Sub CreateUninitializedItem (context As HttpContext, id As String, timeout As Integer)

Параметры

context
HttpContext

Объект HttpContext для текущего запроса.

id
String

Объект SessionID для текущего запроса.

timeout
Int32

Свойство Timeout сеанса для текущего запроса.

Примеры

Пример реализации поставщика хранилища состояний сеанса см. в разделе Реализация поставщика хранилища Session-State.

Комментарии

CreateUninitializedItemМетод используется с сеансами, если cookieless атрибуты и regenerateExpiredSessionId являются обоими true . Если параметр имеет значение, regenerateExpiredSessionId attribute true SessionStateModule объект создает новое SessionID значение при обнаружении значения с истекшим сроком действия SessionID .

Процесс создания нового SessionID значения требует перенаправления браузера на URL-адрес, содержащий только что созданное SessionID значение. CreateUninitializedItemМетод вызывается во время первоначального запроса, который содержит значение с истекшим сроком действия SessionID . Когда SessionStateModule объект получает новое SessionID значение для замены значения с истекшим сроком действия, оно вызывает CreateUninitializedItem метод, чтобы добавить неинициализированную запись в хранилище данных состояния сеанса. Затем браузер перенаправляется на URL-адрес, содержащий созданное SessionID значение. Наличие неинициализированной записи в хранилище данных сеанса гарантирует, что перенаправленный запрос, включающий в себя созданное значение, SessionID не будет считаться ошибочным для запроса просроченного сеанса, а вместо этого будет рассматриваться как новый сеанс.

Неинициализированная запись в хранилище данных сеанса связана с созданным SessionID значением и содержит только значения по умолчанию, включая дату и время истечения срока действия, а также значение, соответствующее actionFlags параметру GetItem GetItemExclusive методов и. Неинициализированная запись в хранилище состояний сеанса должна включать actionFlags значение, равное InitializeItem значению перечисления. Это значение передается в SessionStateModule объект GetItem GetItemExclusive методами и, информирует SessionStateModule объект о том, что текущий сеанс является новым, но неинициализированным сеансом. SessionStateModuleЗатем объект Инициализирует новый сеанс и вызывает Session_OnStart событие.

Дополнительные сведения о сеансах без файлов cookie см IsCookieless . в свойстве.

Применяется к

См. также раздел