Aracılığıyla paylaş


SessionStateStoreProviderBase.CreateUninitializedItem Yöntem

Tanım

Veri deposuna yeni bir oturum durumu öğesi ekler.

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)

Parametreler

context
HttpContext

HttpContextGeçerli istek için.

id
String

SessionIDGeçerli istek için.

timeout
Int32

TimeoutGeçerli istek için oturum.

Örnekler

Oturum durumu depo sağlayıcısı uygulamasının bir örneği için, bkz. Session-State deposu sağlayıcısı uygulama.

Açıklamalar

CreateUninitializedItemYöntemi, cookieless ve regenerateExpiredSessionId özniteliklerinin her ikisi de olduğunda oturumlarla kullanılır true . Küme, regenerateExpiredSessionId attribute true SessionStateModule SessionID zaman aşımına uğradığı zaman bir değer ile karşılaşıldığında nesnenin yeni bir değer oluşturmasına neden olur SessionID .

Yeni bir değer oluşturma işlemi, SessionID tarayıcıyı yeni oluşturulan değeri içeren BIR URL 'ye yeniden yönlendirmelerini gerektirir SessionID . CreateUninitializedItemYöntemi, zaman aşımına uğradı bir değer içeren ilk istek sırasında çağrılır SessionID . Nesne, SessionStateModule SessionID zaman aşımı değerini değiştirmek için yeni bir değer aldıktan sonra, CreateUninitializedItem oturum durumu veri deposuna başlatılmamış bir giriş eklemek için yöntemini çağırır. Ardından tarayıcı, yeni oluşturulan değeri içeren URL 'ye yeniden yönlendirilir SessionID . Oturum veri deposundaki başlatılmamış girdinin varlığı, yeni oluşturulan değeri içeren yeniden yönlendirilen isteğin, SessionID zaman aşımına uğradı bir oturum için bir istek için hatalı şekilde karşılanmamasını ve bunun yerine yeni bir oturum kabul edilmesini sağlar.

Oturum veri deposundaki başlatılmamış giriş, yeni oluşturulan SessionID değerle ilişkilendirilir ve yalnızca bir süre sonu tarih ve saati ve actionFlags ve yöntemlerinin parametresine karşılık gelen bir değer dahil olmak üzere yalnızca varsayılan değerleri içerir GetItem GetItemExclusive . Oturum durumu deposundaki başlatılmamış giriş, actionFlags sabit listesi değerine eşit bir değer içermelidir InitializeItem . Bu değer, SessionStateModule ve yöntemleri tarafından nesnesine geçirilir GetItem GetItemExclusive ve SessionStateModule nesneyi geçerli oturumun yeni ancak başlatılmamış bir oturum olduğunu bildirir. SessionStateModuleDaha sonra nesne yeni oturumu başlatır ve Session_OnStart olayı yükseltir.

Tanımlama bilgisi olmayan oturumlar hakkında daha fazla bilgi için bkz IsCookieless . özelliği.

Şunlara uygulanır

Ayrıca bkz.