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 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

ConcurrencyMode

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.

Aplica-se a