Compartir vía


ServiceThrottlingBehavior.MaxConcurrentCalls Propiedad

Definición

Obtiene o establece el valor que especifica el número máximo de mensajes que se procesan activamente en ServiceHost.

public:
 property int MaxConcurrentCalls { int get(); void set(int value); };
public int MaxConcurrentCalls { get; set; }
member this.MaxConcurrentCalls : int with get, set
Public Property MaxConcurrentCalls As Integer

Valor de propiedad

Límite superior de mensajes activos en el servicio. El valor predeterminado es 16 veces el número de procesadores.

Ejemplos

El siguiente ejemplo de código muestra el uso de ServiceThrottlingBehavior desde un archivo de configuración de la aplicación que establece el valor 1 en MaxConcurrentSessions, MaxConcurrentCalls y las propiedades MaxConcurrentInstances, como ejemplo. La experiencia real determina cuáles son los valores óptimos para cualquier aplicación determinada.

<configuration>
  <appSettings>
    <!-- use appSetting to configure base address provided by host -->
    <add key="baseAddress" value="http://localhost:8080/ServiceMetadata" />
  </appSettings>
  <system.serviceModel>
    <services>
      <service 
        name="Microsoft.WCF.Documentation.SampleService"
        behaviorConfiguration="Throttled" >
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/SampleService"/>
          </baseAddresses>
        </host>
        <endpoint
          address=""
          binding="wsHttpBinding"
          contract="Microsoft.WCF.Documentation.ISampleService"
         />
        <endpoint
          address="mex"
          binding="mexHttpBinding"
          contract="IMetadataExchange"
         />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior  name="Throttled">
          <serviceThrottling 
            maxConcurrentCalls="1" 
            maxConcurrentSessions="1" 
            maxConcurrentInstances="1"
          />
          <serviceMetadata 
            httpGetEnabled="true" 
            httpGetUrl=""
          />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Comentarios

La propiedad MaxConcurrentCalls especifica el número máximo de mensajes que se procesan activamente en un objeto ServiceHost. Cada canal puede tener un mensaje pendiente que no cuente con el valor de MaxConcurrentCalls hasta que Windows Communication Foundation (WCF) comience a procesarlo.

También puede establecer los valores de este atributo mediante el <elemento serviceThrottling> en un archivo de configuración de la aplicación.

Advertencia

MaxConcurrentCalls debe establecerse en menor que el tamaño del grupo de conexiones de SQL en escenarios en cola.

Se aplica a