Sono interessato a come creare un oggetto regolare HttpCookie
in un cookie che scade al termine di una sessione. Non sono interessato a qualcuno showing me HttpContext.Session
. Come appare un cookie di sessione nelle intestazioni di risposta rispetto a un cookie normale? Come posso modificare uno HttpCookie
in scadenza alla fine di una sessione? Grazie!.net Domande su cookie di classe/sessione HttpCookie
risposta
Un cookie di sessione è solo un cookie che non ha una data di scadenza impostata.
Response.Cookies.Add(new HttpCookie("name", "value"));
o:
Response.Cookies["name"] = "value";
Un cookie con scadenza di DateTime.MinValue (1/1/0001) scadrà alla fine della sessione. Questa è la data di scadenza predefinita per un cookie in asp.net.
È possibile forzare l'eliminazione immediata di un cookie dal client impostando la data di scadenza su qualcosa prima di "now" (DateTime.Now.AddDays (-1d)) nel qual caso verrà eliminato quando colpisce il client .
Se avessimo i tipi nullable indietro quando HttpCookie è stato codificato, la mia ipotesi è che una data nullo equivale a un cookie basato sulla sessione e qualsiasi altra cosa si tradurrebbe nel valore di scadenza ma questo non è il caso.
Scadenza del biscotto: biscotto
- Session - Scade data dovrebbe essere DateTime.MinValue che è 1/1/0001 00:00:00
- Normale cookie (Tempo limitato) - La data di scadenza è una data futura uguale o superiore al DateTime.Ora corrente.
- Cookie cancellato - in qualsiasi momento tra DateTime.MinValue e DateTime.Now.
Per modificare il cookie in cookie di sessione, è sufficiente assegnare MinValue.
httpCookie.Expires = DateTime.MinValue;
Se il cookie è nuovo. Il valore predefinito per DateTime dovrebbe essere DateTime.MinValue e non è necessario impostare.
CallMeLaNN
Sembra non fissando una scadenza (nelle intestazioni di risposta) ha lo stesso effetto? – Shawn
Non l'ho provato, quindi non posso dirlo con certezza. Recentemente ho trascorso molto tempo a gestire una libreria di cookie per il nostro framework di progetto. Personalmente preferisco la frutta in questi giorni. – andleer
Sarei felice di condividere la libreria ad un certo punto. – andleer