2012-01-23 13 views
30

Bir sorun yaşıyorum.Asp.net'te belirli bir oturum nasıl kaldırılır?

  1. Session["userid"] = UserTbl.userid;
  2. Session["userType"] = UserTbl.type;

Ben Session.clear() kullanarak oturumları kaldırmak bilmek: İki seans oluşturduk. "UserType" oturumunu kaldırmak istiyorum.

Belirli bir oturumu nasıl kaldırırım?

+0

Null to Session ["userType"] ayarlamayı deneyin – ASpirin

+3

Session.Remove ("userType") hakkında ne düşünüyorsunuz; – ThePower

cevap

35

Orada oturumu konteyner gibi bir şey, yani

Session["userid"] = null;

+0

Teşekkürler Milracle! İşe yarıyor !! – Chintan

+1

hoş geldiniz ... –

+0

Geri döndüğümde, oturum gitmiş olsa bile sadece ana sayfayı yükler. – Si8

56
Session.Remove("name of your session here"); 
+0

Session.Remove iş parçacığı güvenli mi? – RezaRahmati

+0

@RezaRahmati Bu sorunun cevabını bilmek isterim – WhatsThePoint

+0

@WhatsThePoint Öyle görünüyor ki, varsayılan olarak orada okuyucu/yazıcı kilidi var https://msdn.microsoft.com/en-us/library/aa479041 .aspx – RezaRahmati

28

gibi yapabilirsiniz "" olarak boş o kadar boş

ziyade ayarlayabileceğiniz bireysel seans elemanı olarak ayarlayabilir veya Session.Remove() yöntemini kullanın; Session.Remove

Session.Remove("yourSessionName"); 
5

ASP.NET'te oturumu geçersiz birçok yolu vardır. Özünde oturum, istemcinin tarayıcısında ve ASP.NET'te ayarlanmış bir çerezdir, adı genellikle ASP.NET_SessionId'dur. Yani teorik olarak bu çerezi silerseniz (tarayıcı açısından son kullanma tarihini geçmişte bir tarihe ayarladığınız anlamına gelir, çünkü çerezler geliştiriciler tarafından silinemez), bu durumda oturumu sunucuda kaybedersiniz. Söylediğiniz başka bir yol, Session.Clear() yöntemini kullanmaktır. Ancak en iyi yol, bir anahtarın uygun olmayan oturumunda başka bir ilgisiz nesne (genellikle null değeri) belirlemektir. Örneğin, Session["FirstName"]'u geçersiz kılmak için, Session["FirstName"] = null'a ayarlayın.

İlgili konular