0 out of 1 rated this helpful - Rate this topic

Cookie Class

Provides a set of properties and methods that are used to manage cookies. This class cannot be inherited.

System.Object
  System.Net.Cookie

Namespace:  System.Net
Assembly:  System (in System.dll)
[SerializableAttribute]
public sealed class Cookie

The Cookie type exposes the following members.

  Name Description
Public method Supported by Portable Class Library Cookie() Initializes a new instance of the Cookie class.
Public method Supported by Portable Class Library Cookie(String, String) Initializes a new instance of the Cookie class with a specified Name and Value.
Public method Supported by Portable Class Library Cookie(String, String, String) Initializes a new instance of the Cookie class with a specified Name, Value, and Path.
Public method Supported by Portable Class Library Cookie(String, String, String, String) Initializes a new instance of the Cookie class with a specified Name, Value, Path, and Domain.
Top
  Name Description
Public property Supported by Portable Class Library Comment Gets or sets a comment that the server can add to a Cookie.
Public property Supported by Portable Class Library CommentUri Gets or sets a URI comment that the server can provide with a Cookie.
Public property Supported by Portable Class Library Discard Gets or sets the discard flag set by the server.
Public property Supported by Portable Class Library Domain Gets or sets the URI for which the Cookie is valid.
Public property Supported by Portable Class Library Expired Gets or sets the current state of the Cookie.
Public property Supported by Portable Class Library Expires Gets or sets the expiration date and time for the Cookie as a DateTime.
Public property Supported by Portable Class Library HttpOnly Determines whether a page script or other active content can access this cookie.
Public property Supported by Portable Class Library Name Gets or sets the name for the Cookie.
Public property Supported by Portable Class Library Path Gets or sets the URIs to which the Cookie applies.
Public property Supported by Portable Class Library Port Gets or sets a list of TCP ports that the Cookie applies to.
Public property Supported by Portable Class Library Secure Gets or sets the security level of a Cookie.
Public property Supported by Portable Class Library TimeStamp Gets the time when the cookie was issued as a DateTime.
Public property Supported by Portable Class Library Value Gets or sets the Value for the Cookie.
Public property Supported by Portable Class Library Version Gets or sets the version of HTTP state maintenance to which the cookie conforms.
Top
  Name Description
Public method Supported by Portable Class Library Equals Overrides the Object.Equals method. (Overrides Object.Equals(Object).)
Protected method Supported by Portable Class Library Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Supported by Portable Class Library GetHashCode Overrides the Object.GetHashCode method. (Overrides Object.GetHashCode().)
Public method Supported by Portable Class Library GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method Supported by Portable Class Library MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Supported by Portable Class Library ToString Overrides the Object.ToString method. (Overrides Object.ToString().)
Top

The Cookie class is used by a client application to retrieve information about cookies that are received with HTTP responses. The following cookie formats are supported during parsing of the HTTP response headers: the original Netscape specification, RFC 2109, and RFC 2965.

For a list of initial property values for an instance of Cookie, see the various Cookie constructors.

The following example sends a request to a URL and displays the cookies returned in the response.


using System.Net;
using System;
namespace Examples.System.Net.Cookies
{
    // This example is run at the command line.
    // Specify one argument: the name of the host to 
    // send the request to.
    // If the request is sucessful, the example displays the contents of the cookies
    // returned by the host.

    public class CookieExample
    {   
        public static void Main(string[] args)
        {   
            if (args == null || args.Length != 1)
            {
                Console.WriteLine("Specify the URL to receive the request.");
                Environment.Exit(1);
            }
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
            request.CookieContainer = new CookieContainer();

            HttpWebResponse response = (HttpWebResponse) request.GetResponse();



            // Print the properties of each cookie.
            foreach (Cookie cook in response.Cookies)
            {
                Console.WriteLine("Cookie:");
                Console.WriteLine("{0} = {1}", cook.Name, cook.Value);
                Console.WriteLine("Domain: {0}", cook.Domain);
                Console.WriteLine("Path: {0}", cook.Path);
                Console.WriteLine("Port: {0}", cook.Port);
                Console.WriteLine("Secure: {0}", cook.Secure);

                Console.WriteLine("When issued: {0}", cook.TimeStamp);
                Console.WriteLine("Expires: {0} (expired? {1})", 
                    cook.Expires, cook.Expired);
                Console.WriteLine("Don't save: {0}", cook.Discard);    
                Console.WriteLine("Comment: {0}", cook.Comment);
                Console.WriteLine("Uri for comments: {0}", cook.CommentUri);
                Console.WriteLine("Version: RFC {0}" , cook.Version == 1 ? "2109" : "2965");

                // Show the string representation of the cookie.
                Console.WriteLine ("String: {0}", cook.ToString());
            }
        }
    }
}

// Output from this example will be vary depending on the host name specified,
// but will be similar to the following.
/*
Cookie:
CustomerID = 13xyz
Domain: .contoso.com
Path: /
Port:
Secure: False
When issued: 1/14/2003 3:20:57 PM
Expires: 1/17/2013 11:14:07 AM (expired? False)
Don't save: False
Comment: 
Uri for comments:
Version: RFC 2965
String: CustomerID = 13xyz
*/



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
theme cookie
<asp:DropDownList ID="ddlTheme" runat="server" AutoPostBack="true">
            <asp:ListItem Value="ThemeSilver">Silver Theme</asp:ListItem>
            <asp:ListItem Value="ThemeDark">Dark Theme</asp:ListItem>
        </asp:DropDownList>
thema
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
        Dim cookie As HttpCookie = Me.Request.Cookies("Theme")
        If Not cookie Is Nothing Then
            Dim Theme As String = cookie.Value
            ddlTheme.Items.FindByValue(Theme).Selected = True
            Page.Theme = Theme
        Else
            Page.Theme = "ThemeSilver"
            ddlTheme.Items.FindByValue("ThemeSilver").Selected = True
        End If
    End Sub

 
    Protected Sub ddlTheme_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTheme.SelectedIndexChanged
        Dim cookie As New HttpCookie("Theme", ddlTheme.SelectedValue)
        cookie.Expires = Date.Now.AddMinutes(5.0)
        Response.Cookies.Add(cookie)
        Response.Redirect(Request.Url.ToString)

    End Sub