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


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 При обнаружении истекшего SessionID срока действия объект true создает SessionStateModule новое 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 .

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

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