ServiceThrottlingBehavior.MaxConcurrentCalls Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.