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!

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top