Compartir a través de


<serviceThrottling>

Especifica el mecanismo de limitación de peticiones de un servicio de Windows Communication Foundation (WCF).

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

Sintaxis

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

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
maxConcurrentCalls Entero positivo que limita el número de mensajes que actualmente procesan en ServiceHost. Las llamadas que superan el límite se ponen en cola. Establecer este valor en 0 es equivalente a establecerlo en Int32.MaxValue. El valor predeterminado es 16 * número de procesadores.
maxConcurrentInstances Entero positivo que limita el número de los objetos InstanceContext que se ejecutan a la vez en ServiceHost. Las solicitudes para crear instancias adicionales se ponen en cola y se completan cuando queda disponible una ranura por debajo del límite. El valor predeterminado es la suma de maxConcurrentSessions y MaxConcurrentCalls
maxConcurrentSessions Entero positivo que limita el número máximo de sesiones que un objeto ServiceHost puede aceptar.

El servicio admitirá conexiones que excedan el límite, pero solo los canales por debajo del límite estarán activos (los mensajes se leen desde el canal). El valor predeterminado es 100 * número de procesadores.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción
<behavior> Especifica un elemento de comportamiento.

Comentarios

Los controles de limitación de peticiones establecen límites en el número de llamadas simultáneas, instancias o sesiones para evitar el consumo excesivo de recursos.

Se escribe un seguimiento cada vez que se alcanza el valor de los atributos. El primer seguimiento se escribe como una advertencia.

Ejemplo

El ejemplo de configuración siguiente especifica que el servicio limita el máximo de llamadas simultáneas a 2, y el número máximo de instancias simultáneas a 10. Para obtener un ejemplo detallado de la ejecución de este ejemplo, consulte Limitación de peticiones.

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

Consulte también