Gewusst wie: Schreiben eines Cookies
Aktualisiert: November 2007
Mit Cookies können Sie in Webanwendungen benutzerspezifische Informationen speichern, z. B. den Verlauf oder Benutzereinstellungen. Ein Cookie ist ein kurzer Text, der Anforderungen und Antworten beim Austausch zwischen Webserver und Client begleitet. Das Cookie enthält Informationen, die von der Webanwendung immer dann gelesen werden können, wenn der Benutzer die Site besucht.
Der Browser verwaltet die Cookies auf dem Clientcomputer. Cookies werden an den Client mithilfe des HttpResponse-Objekts gesendet, das die Cookies-Eigenschaft verfügbar macht. Alle Cookies, die von der Webanwendung an den Browser gesendet werden sollen, müssen dieser Auflistung hinzugefügt werden. Wenn Sie ein neues Cookie schreiben, müssen Sie Name und Value angeben. Jedes Cookie muss über einen eindeutigen Namen verfügen, damit es von der Webanwendung erkannt wird, wenn es vom Browser zusammen mit zukünftigen Anforderungen gesendet wird.
Es gibt zwei Möglichkeiten, ein Cookie auf den Computer eines Benutzers zu schreiben. Sie können die Cookieeigenschaften entweder direkt in der Cookies-Auflistung festlegen, oder Sie erstellen eine Instanz des HttpCookie-Objekts und fügen es der Cookies-Auflistung hinzu. Sie müssen die Cookies erstellen, bevor der Client die ASP.NET-Seite dargestellt. Sie können z. B. ein Cookie in einen Page_Load-Ereignishandler schreiben, nicht aber in einen Page_Unload-Ereignishandler. Weitere Informationen über den Lebenszyklus einer Seite finden Sie unter Übersicht über den Lebenszyklus von ASP.NET-Seiten.
Weitere Informationen finden Sie unter Übersicht über ASP.NET-Cookies.
So schreiben Sie ein Cookie, indem Sie die Cookieeigenschaften in der Cookies-Auflistung festlegen
In der ASP.NET-Seite, in die Sie ein Cookie schreiben möchten, weisen Sie dem Cookie Eigenschaften in der Cookies-Auflistung zu.
Das folgende Codebeispiel zeigt ein Cookie mit dem Namen UserSettings, für das die Werte des Font-Unterschlüssels und des Color-Unterschlüssels festgelegt sind. Das Ablaufdatum ist auf morgen festgelegt.
Response.Cookies("UserSettings")("Font") = "Arial" Response.Cookies("UserSettings")("Color") = "Blue" Response.Cookies("UserSettings").Expires = DateTime.Now.AddDays(1)
Response.Cookies["UserSettings"]["Font"] = "Arial"; Response.Cookies["UserSettings"]["Color"] = "Blue"; Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
So schreiben Sie ein Cookie, indem Sie eine Instanz des HttpCookie-Objekts erstellen
Erstellen Sie ein Objekt vom Typ HttpCookie, und weisen Sie ihm einen Namen zu.
Weisen Sie den Unterschlüsseln des Cookies Werte zu, und legen Sie die Cookieeigenschaften fest.
Fügen Sie das Cookie der Cookies-Auflistung hinzu.
Das folgende Codebeispiel zeigt eine Instanz des HttpCookie-Objekts mit dem Namen myCookie, die ein Cookie mit dem Namen UserSettings darstellt.
Dim myCookie As HttpCookie = New HttpCookie("UserSettings") myCookie("Font") = "Arial" myCookie("Color") = "Blue" myCookie.Expires = Now.AddDays(1) Response.Cookies.Add(myCookie)
HttpCookie myCookie = new HttpCookie("UserSettings"); myCookie["Font"] = "Arial"; myCookie["Color"] = "Blue"; myCookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(myCookie);
Robuste Programmierung
Standardmäßig werden Cookies von allen Webseiten derselben Domäne gemeinsam verwendet. Sie können Cookies aber auch auf bestimmte Unterordner einer Website beschränken, indem Sie ihre Path-Eigenschaft festlegen. Damit ein Cookie von allen Seiten in allen Ordnern der Anwendung abgerufen werden kann, legen Sie es von einer Seite aus fest, die sich im Stammordner der Anwendung befindet, und legen Sie die Path-Eigenschaft nicht fest.
Wenn Sie kein Ablaufdatum für das Cookie angeben, bleibt es auf dem Clientcomputer nicht erhalten, sondern läuft mit Ablauf der Benutzersitzung ab.
Cookies können nur Werte vom Typ String speichern. Sie müssen alle Werte, die keine Zeichenfolgen sind, in Zeichenfolgen konvertieren, bevor Sie sie in einem Cookie speichern können. Bei vielen Datentypen genügt es, die ToString-Methode aufzurufen. Weitere Informationen finden Sie unter der ToString-Methode für den Datentyp, der erhalten bleiben soll.
Sicherheit
Speichern Sie in einem Cookie keine vertraulichen Informationen wie Benutzername oder Kennwort. Weitere Informationen zur Cookiesicherheit finden Sie unter Übersicht über ASP.NET-Cookies.
Siehe auch
Aufgaben
Gewusst wie: Lesen eines Cookies
Gewusst wie: Löschen eines Cookies
Konzepte
Übersicht über ASP.NET-Cookies