Поделиться через


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 attributeSessionStateModule значение , true объект создает новое 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 .

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

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