Compartilhar via


<serviceThrottling>

Especifica o mecanismo de limitação de um serviço do Windows Communication Foundation (WCF).

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceThrottling>

Syntax

<serviceThrottling maxConcurrentCalls="Integer"
                   maxConcurrentInstances="Integer"
                   maxConcurrentSessions="Integer" />

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
maxConcurrentCalls Um número inteiro positivo que limita o número de mensagens que são processadas atualmente por meio de um ServiceHost. As chamadas além do limite são enfileiradas. Definir esse valor como 0 é equivalente a defini-lo como Int32.MaxValue. O padrão é 16 * contagem de processadores.
maxConcurrentInstances Um número inteiro positivo que limita o número de objetos InstanceContext executados ao mesmo tempo em um ServiceHost. As solicitações para criar instâncias adicionais serão enfileiradas e concluídas quando um slot abaixo do limite ficar disponível. A opção é a soma de maxConcurrentSessions e MaxConcurrentCalls
maxConcurrentSessions Um número inteiro positivo que limita o número de sessões que um objeto ServiceHost pode aceitar.

O serviço aceitará conexões além do limite, mas somente os canais abaixo do limite estarão ativos (as mensagens são lidas do canal). O padrão é 100 * contagem de processadores.

Elementos filho

Nenhum.

Elementos pai

Elemento Descrição
<behavior> Especifica um elemento de comportamento.

Comentários

Os controles de limitação colocam limites no número de chamadas simultâneas, instâncias ou sessões para evitar a sobrecarga de consumo de recursos.

Um rastreamento é gravado cada vez que o valor dos atributos é atingido. O primeiro rastreamento é gravado como um aviso.

Exemplo

O seguinte exemplo de configuração especifica que o serviço limita o máximo de chamadas simultâneas para 2, e o número máximo de instâncias simultâneas para 10. Para obter um exemplo detalhado de como executar esse exemplo, consulte Limitação.

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      <serviceDebug includeExceptionDetailInFaults="False" />
      <serviceMetadata httpGetEnabled="True" />
      <!-- Specify throttling behavior -->
      <serviceThrottling maxConcurrentCalls="2"
                         maxConcurrentInstances="10" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Confira também