Cookie.Version Vlastnost

Definice

Získá nebo nastaví verzi údržby stavu HTTP, které soubor cookie odpovídá.

public:
 property int Version { int get(); void set(int value); };
public int Version { get; set; }
member this.Version : int with get, set
Public Property Version As Integer

Hodnota vlastnosti

Verze údržby stavu HTTP, které soubor cookie vyhovuje.

Výjimky

Hodnota zadaná pro verzi není povolena.

Příklady

Následující příklad zobrazuje vlastnosti souborů cookie vrácených v odpovědi. Úplný příklad najdete v Cookie tématu třídy.

HttpWebRequest^ request = dynamic_cast<HttpWebRequest^>(WebRequest::Create( args[ 1 ] ));
request->CookieContainer = gcnew 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 = safe_cast<Cookie^>(myEnum->Current);
   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 ? (String^)"2109" : "2965" );
   
   // Show the string representation of the cookie.
   Console::WriteLine( "String: {0}", cook );
   
}
var request = (HttpWebRequest)WebRequest.Create(args[0]);
request.CookieContainer = new CookieContainer();

using (var response = (HttpWebResponse) request.GetResponse())
{
    // Print the properties of each cookie.
    foreach (Cookie cook in response.Cookies)
    {
        Console.WriteLine("Cookie:");
        Console.WriteLine($"{cook.Name} = {cook.Value}");
        Console.WriteLine($"Domain: {cook.Domain}");
        Console.WriteLine($"Path: {cook.Path}");
        Console.WriteLine($"Port: {cook.Port}");
        Console.WriteLine($"Secure: {cook.Secure}");

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

        // Show the string representation of the cookie.
        Console.WriteLine($"String: {cook}");
    }
}
    Dim request As HttpWebRequest = WebRequest.Create(args(0))
    request.CookieContainer = New CookieContainer()

    Using response As HttpWebResponse = request.GetResponse()
        ' Print the properties of each cookie.
        For Each cook As Cookie In response.Cookies
            Console.WriteLine("Cookie:")
            Console.WriteLine($"{cook.Name} = {cook.Value}")
            Console.WriteLine($"Domain: {cook.Domain}")
            Console.WriteLine($"Path: {cook.Path}")
            Console.WriteLine($"Port: {cook.Port}")
            Console.WriteLine($"Secure: {cook.Secure}")

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

            ' Show the string representation of the cookie.
            Console.WriteLine($"String: {cook}")
        Next
    End Using

Poznámky

Výchozí hodnota vlastnosti Version je 0 a odpovídá původní specifikaci netscape. Pokud je hodnota explicitně nastavená na hodnotu 1, musí to Cookie odpovídat dokumentu RFC 2109. Všimněte si, že pokud Cookie byla vytvořena automaticky na základě Set-Cookie2 hlavičky odpovědi HTTP, je shoda nastavena na RFC 2965.

Pokus o nastavení Version vlastnosti na hodnotu menší než nula vyvolá výjimku.

Platí pro

Viz také