2010-08-04 2 views
5

In Pageload, wenn Sie das tun Response.Cookies.Add (..., sofort in der nächsten Zeile, können Sie diesen Cookie über Request.Cookies Zugang (...Warum ist Cookie in Request sofort nach der Einstellung mit Response verfügbar?

Ich weiß, dass unter der Decke, das Cookie von

Wenn das, was ich sage, richtig ist, warum ist es so? Sollte das Cookie in der folgenden Anfrage nicht verfügbar sein? sollte nicht der unmittelbare Zugang zu Request.Cookies (... null

Antwort

6

Du hast Recht, ASP.NET, dass macht hinter den Kulissen:

Nachdem Sie ein Cookie mithilfe der HttpResponse.Cookies Sammlung, die Cookie ist sofort in der HttpRequest.Cookies Sammlung zur Verfügung, auch wenn die Antwort hat der Kunde nicht zu gesendet.

- HttpRequest.Cookies page auf MSDN

Warum ist es so? Vermutlich deshalb, weil Entwickler erwarten, dass es funktioniert.

+0

Als eine Randnotiz, das ist eine etwas gewöhnliche Beschwerde über PHP ... dass die Verwendung von 'setcookie' das Cookie nicht zu dem' $ _COOKIE' global hinzufügt. – Powerlord

+1

Eigentlich hat mich das verrückt gemacht. Ich musste einen Cookie ablaufen lassen und einen neuen Cookie hinzufügen, aber dieses Verhalten bedeutete, dass ich nicht nur den alten, sondern auch den neuen Cookie ablaufen ließ. Und nein, ich denke nicht, dass es ein fairer Kommentar ist, der darauf hindeutet, dass die Entwickler erwarten, dass es so funktioniert. Ich bin ein Entwickler und ich versuche, Nebenwirkungen zu vermeiden, wenn ich Code schreibe. Aber ja, der Link zu der Dokumentation war von unschätzbarem Wert, danke. –

Verwandte Themen