WSHttpBinding.AllowCookies Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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();
}