Compartir a través de


<serviceThrottling>

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

<<system.serviceModel>>
  <comportamientos>
    <serviceBehaviors>
      Elemento <behavior> de <serviceBehaviors>
        <serviceThrottling>

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

Atributos y elementos

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.

maxConcurrentInstances

Entero positivo que limita el número de los objetos InstanceContext que se ejecutan a la vez en ServiceHost. Las exigencias para crear instancias adicionales se ponen en cola y se completan cuando queda disponible un espacio por debajo del límite. El valor predeterminado es Int32.MaxValue.

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 sólo los canales por debajo del límite estarán activos (los mensajes se leen desde el canal). Establecer este valor en 0 es equivalente a establecerlo en Int32.MaxValue. El valor predeterminado es 10.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción

<behavior> de <endpointBehaviors>

Especifica el comportamiento de un elemento.

Comentarios

Los controles de límite colocan los límites en el número de llamadas simultáneas, instancias o sesiones para evitar sobreconsumo 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 las llamadas simultáneas máximas a 2, y el número máximo de instancias simultáneas a 10. Para obtener un ejemplo detallado de cómo ejecutar este ejemplo, vea Throttling.

<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

Referencia

ServiceThrottlingBehavior
ServiceThrottlingElement

Otros recursos

Using ServiceThrottlingBehavior to Control WCF Service Performance