Cookie.Version Cookie.Version Cookie.Version Cookie.Version Property

定義

取得或設定 Cookie 依據的 HTTP 狀態維護版本。Gets or sets the version of HTTP state maintenance to which the cookie conforms.

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

屬性值

Cookie 依據的 HTTP 狀態維護版本。The version of HTTP state maintenance to which the cookie conforms.

例外狀況

不允許指定給版本的值。The value specified for a version is not allowed.

範例

下列範例會顯示回應中所傳回 cookie 的屬性。The following example displays the properties of cookies returned in a response. 如需完整範例, 請參閱Cookie類別主題。For the complete example, see the Cookie class topic.

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

備註

Version屬性的預設值為 0, 遵守原始的 Netscape 規格。The default value for the Version property is 0, complying with the original Netscape specification. 如果將此值明確設定為 1, 則這Cookie必須符合 RFC 2109。If the value is explicitly set to 1, then this Cookie must conform to RFC 2109. 請注意, 如果Cookie是透過接收 Cookie2 HTTP 回應標頭來自動建立, 則一致性會設定為 RFC 2965。Note that if a Cookie was created automatically by receiving a Set-Cookie2 HTTP response header, the conformance is set to RFC 2965.

嘗試將Version屬性設定為小於零的值將會擲回例外狀況。An attempt to set the Version property to a value less than zero will throw an exception.

適用於

另請參閱