Freigeben über


HttpCookie-Klasse

Stellt ein typsicheres Verfahren zum Erstellen und Bearbeiten einzelner HTTP-Cookies bereit.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public NotInheritable Class HttpCookie
'Usage
Dim instance As HttpCookie
public sealed class HttpCookie
public ref class HttpCookie sealed
public final class HttpCookie
public final class HttpCookie

Hinweise

Die HttpCookie-Klasse ruft Eigenschaften einzelner Cookies ab und legt diese fest. Die HttpCookieCollection-Klasse stellt Methoden zum Speichern, Abrufen und Verwalten mehrerer Cookies bereit.

ASP.NET enthält zwei systeminterne Cookieauflistungen. Die Auflistung, auf die über die Cookies-Auflistung des HttpRequest-Objekts zugegriffen werden kann, enthält Cookies, die vom Client im Cookie-Header an den Server übertragen werden. Die Auflistung, auf die über die Cookies-Auflistung des HttpResponse-Objekts zugegriffen werden kann, enthält neue Cookies, die auf dem Server erstellt und im Set-Cookie-HTTP-Antwortheader an den Client übertragen werden.

Thema Position
Gewusst wie: Schreiben eines Cookies Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Schreiben eines Cookies Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Schreiben eines Cookies Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ein Cookie mit dem Namen DateCookieExample im HttpRequest-Objekt überprüft wird. Wenn das Cookie nicht gefunden wird, wird es erstellt und dem HttpResponse-Objekt hinzugefügt. Für das Cookie wird eine Gültigkeitsdauer von zehn Minuten festgelegt.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim sb As New StringBuilder()
        ' Get cookie from current request.
        Dim cookie As HttpCookie
        cookie = Request.Cookies.Get("DateCookieExample")
        
        ' Check if cookie exists in the current request
        If (cookie Is Nothing) Then
            sb.Append("Cookie was not received from the client. ")
            sb.Append("Creating cookie to add to the response. <br/>")
            ' Create cookie.
            cookie = New HttpCookie("DateCookieExample")
            ' Set value of cookie to current date time.
            cookie.Value = DateTime.Now.ToString()
            ' Set cookie to expire in 10 minutes.
            cookie.Expires = DateTime.Now.AddMinutes(10D)
            ' Insert the cookie in the current HttpResponse.
            Response.Cookies.Add(cookie)
        Else
            sb.Append("Cookie retrieved from client. <br/>")
            sb.Append("Cookie Name: " + cookie.Name + "<br/>")
            sb.Append("Cookie Value: " + cookie.Value + "<br/>")
            sb.Append("Cookie Expiration Date: " & _
                cookie.Expires.ToString() & "<br/>")
        End If
        Label1.Text = sb.ToString()

    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpCookie Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:Label id="Label1" runat="server"></asp:Label>    
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();
        // Get cookie from the current request.
        HttpCookie cookie = Request.Cookies.Get("DateCookieExample");
        
        // Check if cookie exists in the current request.
        if (cookie == null)
        {
            sb.Append("Cookie was not received from the client. ");
            sb.Append("Creating cookie to add to the response. <br/>");
            // Create cookie.
            cookie = new HttpCookie("DateCookieExample");
            // Set value of cookie to current date time.
            cookie.Value = DateTime.Now.ToString();
            // Set cookie to expire in 10 minutes.
            cookie.Expires = DateTime.Now.AddMinutes(10d);
            // Insert the cookie in the current HttpResponse.
            Response.Cookies.Add(cookie);
        }
        else
        {
            sb.Append("Cookie retrieved from client. <br/>");
            sb.Append("Cookie Name: " + cookie.Name + "<br/>");
            sb.Append("Cookie Value: " + cookie.Value + "<br/>");
            sb.Append("Cookie Expiration Date: " + 
                cookie.Expires.ToString() + "<br/>");
        }
        Label1.Text = sb.ToString();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpCookie Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:Label id="Label1" runat="server"></asp:Label>
    </div>
    </form>
</body>
</html>

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
  System.Web.HttpCookie

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HttpCookie-Member
System.Web-Namespace
HttpResponse
HttpRequest
HttpCookieCollection