Compartilhar via


CallbackBehaviorAttribute.ConcurrencyMode Propriedade

Definição

Obtém ou define se um serviço dá suporte a um thread, vários threads ou chamadas reentradas.

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 ConcurrencyMode valores; o padrão é Single.

Exceções

O valor não é um dos ConcurrencyMode valores.

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 uma única thread, se há suporte para reentrada.

A configuração ConcurrencyMode para Single instrui o sistema a restringir instâncias do serviço a um thread de execução de cada vez, o que libera você de lidar com problemas de threading. Esse é o valor padrão. Um valor que significa que os objetos de Multiple serviço podem ser executados por vários threads a qualquer momento. 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 de cada 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 reentrada pode ser executada em um thread gerenciado diferente, mas nesse caso o thread original é bloqueado durante a chamada reentrada.

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 e uma chamada reentrada for bloqueada enquanto aguarda a instância ser liberada, 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.

Aplica-se a