This documentation is archived and is not being maintained.

Cookie.Version Property

Gets or sets the version of HTTP state maintenance to which the cookie conforms.

Namespace:  System.Net
Assembly:  System (in System.dll)

public int Version { get; set; }

Property Value

Type: System.Int32
The version of HTTP state maintenance to which the cookie conforms.

ExceptionCondition
ArgumentOutOfRangeException

The value specified for a version is not allowed.

The default value for the Version property is 0, complying with the original Netscape specification. If the value is explicitly set to 1, then this Cookie must conform to RFC 2109. Note that if a Cookie was created automatically by receiving a Set-Cookie2 HTTP response header, the conformance is set to RFC 2965.

An attempt to set the Version property to a value less than zero will throw an exception.

The following example displays the properties of cookies returned in a response. For the complete example, see the Cookie class topic.

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());
}
HttpWebRequest* request = dynamic_cast<HttpWebRequest*>(WebRequest::Create(args[1]));
request->CookieContainer = new CookieContainer();

HttpWebResponse* response = dynamic_cast<HttpWebResponse*> (request->GetResponse());
response->Cookies = request->CookieContainer->GetCookies(request->RequestUri);


// Print the properties of each cookie.
System::Collections::IEnumerator* myEnum = response->Cookies->GetEnumerator();
while (myEnum->MoveNext())
{
    Cookie* cook = __try_cast<Cookie*>(myEnum->Current);
    Console::WriteLine(S"Cookie:");
    Console::WriteLine(S"{0} = {1}", cook->Name, cook->Value);
    Console::WriteLine(S"Domain: {0}", cook->Domain);
    Console::WriteLine(S"Path: {0}", cook->Path);
    Console::WriteLine(S"Port: {0}", cook->Port);
    Console::WriteLine(S"Secure: {0}", __box(cook->Secure));

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

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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

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