Freigeben über


WSHttpBindingElement.AllowCookies Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der WCF-Client automatisch Cookies speichert und erneut sendet, die von einem einzelnen Webdienst gesendet werden.

public:
 property bool AllowCookies { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("allowCookies", DefaultValue=false)]
public bool AllowCookies { get; set; }
[<System.Configuration.ConfigurationProperty("allowCookies", DefaultValue=false)>]
member this.AllowCookies : bool with get, set
Public Property AllowCookies As Boolean

Eigenschaftswert

truewenn die automatische Verarbeitung von Cookies erforderlich ist; andernfalls . false

Attribute

Hinweise

Die Einstellung AllowCookies ist true nützlich, wenn ein Client mit einem Webdienst interagiert, der Cookies verwendet. Wenn Sie auf mehrere Dienste mit demselben Cookie zugreifen, müssen AllowCookies Sie den false Cookie-Header manuell jeder ausgehenden Nachricht hinzufügen. Der folgende Code zeigt, wie Dies geschieht:

MyWebServiceClient client = new MyWebServiceClient();  

        using (new OperationContextScope(client.InnerChannel))  
        {  
            client.DoSomething();  

            // Extract the cookie embedded in the received web service response  
            // and stores it locally  
            HttpResponseMessageProperty response = (HttpResponseMessageProperty)  
            OperationContext.Current.IncomingMessageProperties[  
                HttpResponseMessageProperty.Name];  
            sharedCookie = response.Headers["Set-Cookie"];  
        }  

        MyOtherWebServiceClient otherClient = new MyOtherWebServiceClient();  

        using (new OperationContextScope(otherClient.InnerChannel))  
        {  
            // Embeds the extracted cookie in the next web service request  
            // Note that we manually have to create the request object since  
            // since it doesn't exist yet at this stage   
            HttpRequestMessageProperty request = new HttpRequestMessageProperty();  
            request.Headers["Cookie"] = sharedCookie;  
            OperationContext.Current.OutgoingMessageProperties[  
                HttpRequestMessageProperty.Name] = request;  

            otherClient.DoSomethingElse();  
        }  

Gilt für: