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 для текущего запроса.
Примеры
Пример реализации поставщика хранилища состояния сеанса см. в разделе Реализация поставщика хранилища Session-State.
Комментарии
Метод CreateUninitializedItem используется с сеансами, когда атрибуты cookieless
и regenerateExpiredSessionId
имеют значение true
. Если задано regenerateExpiredSessionId attribute
SessionStateModule значение , 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 .