CallbackBehaviorAttribute.ConcurrencyMode Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define se um serviço dá suporte a um thread, vários threads ou chamadas reentrantes.
public:
property System::ServiceModel::ConcurrencyMode ConcurrencyMode { System::ServiceModel::ConcurrencyMode get(); void set(System::ServiceModel::ConcurrencyMode value); };
public System.ServiceModel.ConcurrencyMode ConcurrencyMode { get; set; }
member this.ConcurrencyMode : System.ServiceModel.ConcurrencyMode with get, set
Public Property ConcurrencyMode As ConcurrencyMode
Valor da propriedade
Um dos valores ConcurrencyMode; o padrão é Single.
Exceções
O valor não é um dos valores ConcurrencyMode.
Comentários
Essa propriedade indica se uma instância de um objeto de retorno de chamada dá suporte a um thread ou a vários threads que são executados simultaneamente e se há suporte para a reentração em thread único.
A configuração ConcurrencyMode para Single instrui o sistema a restringir as instâncias do serviço a um thread de execução por vez, o que libera você de lidar com problemas de threading. Este é o valor padrão. Um valor de meios que Multiple os objetos de serviço podem ser executados por vários threads ao mesmo tempo. Nesse caso, você deve garantir a segurança do thread e a consistência do estado.
Reentrant também restringe o acesso a um único thread por vez. No entanto, ele permite que chamadas de um método de serviço em execução retornem e reentram no serviço em execução. Uma chamada reentrante pode ser executada em um thread gerenciado diferente, mas nesse caso, o thread original é bloqueado durante a chamada reentrante.
Geralmente, se uma mensagem chegar para uma instância que viole seu modo de simultaneidade, a mensagem aguardará até que a instância esteja disponível ou até atingir o tempo limite.
Além disso, se a ConcurrencyMode chamada for definida Single como e uma chamada reentrante for bloqueada enquanto aguarda a liberação da instância, o sistema detectará o deadlock e gerará uma exceção.
Para obter mais informações sobre simultaneidade, consulte ServiceBehaviorAttribute.ConcurrencyMode e sessões, instancamento e simultaneidade.