Udostępnij za pośrednictwem


WSHttpBinding.AllowCookies Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy klient WCF będzie automatycznie przechowywać i ponownie wysyłać wszystkie pliki cookie wysyłane przez jedną usługę internetową.

public:
 property bool AllowCookies { bool get(); void set(bool value); };
public bool AllowCookies { get; set; }
member this.AllowCookies : bool with get, set
Public Property AllowCookies As Boolean

Wartość właściwości

Boolean

true jeśli jest wymagane automatyczne przetwarzanie plików cookie; w przeciwnym razie , false.

Uwagi

true Ustawienie AllowCookies jest przydatne, gdy klient wchodzi w interakcję z jedną usługą internetową korzystającą z plików cookie. Jeśli uzyskujesz dostęp do wielu usług za pomocą tego samego pliku cookie, ustaw na AllowCookies false wartość i musisz ręcznie dodać nagłówek pliku cookie do każdego wychodzącego komunikatu. Poniższy kod pokazuje, jak to zrobić:

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();  
        }  

Dotyczy