HttpWebClientProtocol.CookieContainer Eigenschaft

Definition

Ruft die Auflistung der Cookies ab oder legt diese fest.

C#
public System.Net.CookieContainer CookieContainer { get; set; }

Eigenschaftswert

CookieContainer

Ein CookieContainer, der die Cookies für einen Webdienstclient darstellt.

Beispiele

Das folgende Codebeispiel ist ein Web Forms Client eines XML-Webdiensts, der den Sitzungszustand verwendet. Der Client speichert das HTTP-Cookie, das die Sitzung eindeutig identifiziert, indem es im Sitzungszustand des Clients gespeichert wird.

ASP.NET (C#)
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Net" %>

<html>

    <script runat="server">

        void EnterBtn_Click(Object Src, EventArgs E) 
    {
      // Create a new instance of a proxy class for your XML Web service.
      ServerUsage su = new ServerUsage();
          CookieContainer cookieJar;

      // Check to see if the cookies have already been saved for this session.
      if (Session["CookieJar"] == null) 
        cookieJar= new CookieContainer();
          else
       cookieJar = (CookieContainer) Session["CookieJar"];

        // Assign the CookieContainer to the proxy class.
        su.CookieContainer = cookieJar;

      // Invoke an XML Web service method that uses session state and thus cookies.
      int count = su.PerSessionServiceUsage();         

      // Store the cookies received in the session state for future retrieval by this session.
      Session["CookieJar"] = cookieJar;

          // Populate the text box with the results from the call to the XML Web service method.
          SessionCount.Text = count.ToString();  
        }
         
    </script>
    <body>
       <form runat=server ID="Form1">
           
             Click to bump up the Session Counter.
             <p>
             <asp:button text="Bump Up Counter" Onclick="EnterBtn_Click" runat=server ID="Button1" NAME="Button1"/>
             <p>
             <asp:label id="SessionCount"  runat=server/>
          
       </form>
    </body>
</html>

Hinweise

Wenn eine XML-Webdienstmethode den Sitzungszustand verwendet, wird ein Cookie in den Antwortheadern an den XML-Webdienstclient übergeben, der die Sitzung für diesen XML-Webdienstclient eindeutig identifiziert. Damit ein XML-Webdienst den Sitzungszustand für einen Client beibehalten kann, muss der Client das Cookie speichern. Clients erhalten das HTTP-Cookie, indem Sie eine neue Instanz erstellen CookieContainer und diese der CookieContainer Eigenschaft der Proxyklasse zuweisen, bevor Sie die XML-Webdienstmethode aufrufen. Wenn Sie den Sitzungszustand außer dem Zeitpunkt beibehalten müssen, an dem die Proxyklasseninstanz außerhalb des Gültigkeitsbereichs liegt, muss der Client das HTTP-Cookie zwischen Aufrufen des XML-Webdiensts speichern. Beispielsweise kann ein Web Forms-Client das HTTP-Cookie speichern, indem er den CookieContainer eigenen Sitzungszustand speichert. Da nicht alle XML-Webdienste sitzungszustand verwenden und daher clients nicht immer für die Verwendung der CookieContainer Eigenschaft eines Clientproxys erforderlich sind, muss die Dokumentation für den XML-Webdienst angeben, ob der Sitzungszustand verwendet wird.

Gilt für

Produkt Versionen
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

Siehe auch