Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft die Auflistung der Cookies ab oder legt diese fest.
Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)
Syntax
'Declaration
Public Property CookieContainer As CookieContainer
'Usage
Dim instance As HttpWebClientProtocol
Dim value As CookieContainer
value = instance.CookieContainer
instance.CookieContainer = value
public CookieContainer CookieContainer { get; set; }
public:
property CookieContainer^ CookieContainer {
CookieContainer^ get ();
void set (CookieContainer^ value);
}
/** @property */
public CookieContainer get_CookieContainer ()
/** @property */
public void set_CookieContainer (CookieContainer value)
public function get CookieContainer () : CookieContainer
public function set CookieContainer (value : CookieContainer)
Eigenschaftenwert
Ein CookieContainer, der die Cookies für einen Webdienstclient darstellt.
Hinweise
Wenn eine XML-Webdienstmethode den Sitzungszustand verwendet, wird in den Antwortheadern ein Cookie an den XML-Webdienstclient zurück übergeben, das 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 empfangen das HTTP-Cookie, indem eine neue Instanz von CookieContainer erstellt wird und diese der CookieContainer-Eigenschaft der Proxyklasse vor dem Aufrufen der XML-Webdienstmethode zugeordnet wird. Wenn der Sitzungszustand auch dann beibehalten werden soll, wenn sich die Instanz der Proxyklasse nicht mehr im Gültigkeitsbereich befindet, muss der Client das HTTP-Cookie zwischen den Aufrufen des XML-Webdiensts speichern. Ein Web Forms-Client kann das HTTP-Cookie speichern, indem der CookieContainer im eigenen Sitzungszustand gespeichert wird. Da nicht alle XML-Webdienste den Sitzungszustand verwenden und Clients daher nicht immer die CookieContainer-Eigenschaft eines Clientproxys verwenden müssen, muss in der Dokumentation für den XML-Webdienst angegeben sein, ob der Sitzungszustand verwendet wird.
Beispiel
Im folgenden Codebeispiel wird ein Web Forms-Client eines XML-Webdiensts, der den Sitzungszustand verwendet, dargestellt. Der Client speichert das HTTP-Cookie, das die Sitzung eindeutig identifiziert, indem diese im Sitzungsstatus des Clients gespeichert wird.
<%@ Page Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Net" %>
<html>
<script runat=server>
Public Sub EnterBtn_Click(src As Object, E As EventArgs)
' Create a new instance of a proxy class for your XML Web service.
Dim su As ServerUsage = new ServerUsage()
Dim cookieJar As CookieContainer
' Check to see if the cookies have already been saved for this session.
If (Session("CookieJar") Is Nothing)
cookieJar= new CookieContainer()
Else
cookieJar = Session("CookieJar")
End If
' Assign the CookieContainer to the proxy class.
su.CookieContainer = cookieJar
' Invoke an XML Web service method that uses session state and thus cookies.
Dim count As Integer = 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()
End Sub
</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>
<%@ 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>
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
HttpWebClientProtocol-Klasse
HttpWebClientProtocol-Member
System.Web.Services.Protocols-Namespace
CookieContainer
WebMethodAttribute.EnableSession-Eigenschaft