WSHttpBindingElement.AllowCookies Propriedade
Definição
Obtém ou define um valor que indica se o cliente WCF armazenará e reenviará automaticamente cookies enviados por um único serviço Web.Gets or sets a value that indicates whether the WCF client will automatically store and resend any cookies sent by a single web service.
public:
property bool AllowCookies { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("allowCookies", DefaultValue=Mono.Cecil.CustomAttributeArgument)]
public bool AllowCookies { get; set; }
[<System.Configuration.ConfigurationProperty("allowCookies", DefaultValue=Mono.Cecil.CustomAttributeArgument)>]
member this.AllowCookies : bool with get, set
Public Property AllowCookies As Boolean
Valor da propriedade
true se o processamento automático de cookies for necessário; caso contrário, false.true if automatic cookies processing is required; otherwise, false.
- Atributos
Comentários
AllowCookiesA configuração para true é útil quando um cliente está interagindo com um serviço Web que usa cookies.Setting AllowCookies to true is useful when a client is interacting with one web service that uses cookies. Se você estiver acessando vários serviços com o mesmo cookie, defina AllowCookies como false e você precisará adicionar manualmente o cabeçalho do cookie a cada mensagem de saída.If you are accessing multiple services with the same cookie, set AllowCookies to false and you will have to manually add the cookie header to each outgoing message. O código a seguir mostra como fazer isso:The following code shows how to do this:
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();
}