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
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 . в свойстве.