.net Http Klasse / Session-Cookie Fragen
-
08-07-2019 - |
Frage
Ich bin interessiert, wie ein reguläres HttpCookie
Objekt in ein Cookie zu machen, die am Ende einer Sitzung abläuft. Ich bin nicht daran interessiert, jemand showing me HttpContext.Session
. Wie sieht ein Session-Cookie in der Antwort-Header im Vergleich zu einem normalen Cookie? Wie kann ich eine HttpCookie
ändern am Ende einer Sitzung abläuft? Dank!
Lösung
Ein Session-Cookie ist nur ein Cookie, das kein Ablaufdatum hat.
Response.Cookies.Add(new HttpCookie("name", "value"));
oder:
Response.Cookies["name"] = "value";
Andere Tipps
Ein Cookie mit einem Ablauf von DateTime.MinValue (1.1.0001) wird am Ende der Sitzung abläuft. Dies ist das Standardablaufdatum für einen Cookie in asp.net.
Sie können einen Cookie zwingen, den Client imediately vor „jetzt“, indem das Ablaufdatum zu etwas gelöscht ausgeschaltet werden (DateTime.Now.AddDays (-1d)), in dem Fall wird sie gelöscht werden, wenn es den Client trifft.
Wenn wir hatten Nullable Types zurück, wenn Http codiert wurde meine Vermutung ist, dass ein Null-Datum zu einer Sitzung basierten Cookie entsprechen würde und würde alles andere in den Ablaufwert übersetzen, aber das ist nicht der Fall.
Verfall von Cookie:
- Session-Cookie - Gültig bis sollte Datum DateTime.MinValue sein, die 1.1.0001 00:00:00
- Normal Cookie (Zeitlich begrenzt) -. Gültig bis Datum ist ein künftiges Datum gleich oder mehr als die aktuellen DateTime.Now
- Gelöschte Cookie -. Zu jeder Zeit zwischen DateTime.MinValue und DateTime.Now
Um das Cookie in Session-Cookie zu ändern, einfach zuweisen MinValue.
httpCookie.Expires = DateTime.MinValue;
Wenn Ihr Cookie ist neu. Der Standardwert für Datetime sollte DateTime.MinValue und keine Notwendigkeit zu setzen.
CallMeLaNN