2012-01-23 37 views
30

Estoy enfrentando un problema. He creado dos sesiones:¿Cómo eliminar una sesión específica en asp.net?

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

Yo sé cómo quitar las sesiones utilizando Session.clear(). Quiero eliminar la sesión "userType".

¿Cómo elimino una sesión específica?

+0

try set Null to Session ["userType"] – ASpirin

+3

¿Qué pasa con Session.Remove ("userType"); – ThePower

Respuesta

35

No hay nada como contenedor de la sesión, por lo que se puede establecer como nulo

sino más bien se puede establecer elemento de sesión individual como nulo o ""

como Session["userid"] = null;

+0

gracias Milracle! Funciona !! – Chintan

+1

su bienvenida ... –

+0

Cuando respondo, solo carga la página principal aunque la sesión haya desaparecido. – Si8

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

es Session.Remove thread safe? – RezaRahmati

+0

@RezaRahmati me gustaría saber la respuesta a esto también – WhatsThePoint

+0

@WhatsThePoint Parece que sí, por defecto hay un bloqueo de lector/escritor en él https://msdn.microsoft.com/en-us/library/aa479041 .aspx – RezaRahmati

28

que pueda use el método Session.Remove(); Session.Remove

Session.Remove("yourSessionName"); 
5

Hay muchas maneras de anular la sesión en ASP.NET. La sesión en esencia es una cookie, configurada en el navegador del cliente y en ASP.NET, su nombre suele ser ASP.NET_SessionId. Entonces, teóricamente, si elimina esa cookie (que en términos de navegador significa que establece su fecha de vencimiento en alguna fecha pasada, porque los desarrolladores no pueden eliminar las cookies), entonces pierde la sesión en el servidor. Otra forma como dijiste es usar el método Session.Clear(). Pero la mejor manera es establecer otro objeto irrelevante (generalmente null valor) en la sesión en correspondencia con una tecla. Por ejemplo, para anular Session["FirstName"], simplemente configúrelo en Session["FirstName"] = null.

Cuestiones relacionadas