ServiceThrottle.MaxConcurrentInstances 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 número máximo de objetos de servicio que se pueden ejecutar simultáneamente.
public:
property int MaxConcurrentInstances { int get(); void set(int value); };
public int MaxConcurrentInstances { get; set; }
member this.MaxConcurrentInstances : int with get, set
Public Property MaxConcurrentInstances As Integer
Valor de propiedad
Número máximo de objetos InstanceContext que están en el servicio en un momento dado. El valor predeterminado es Máximo de llamadas simultáneas + Máximo de sesiones simultáneas.
Ejemplos
En el siguiente ejemplo de código se muestra el uso normal de ServiceThrottle haciendo referencia a ServiceThrottlingBehavior en un archivo de configuración de la aplicación. En este caso, los valores que se especifican establecen, a lo sumo, un mensaje que se procesa una vez desde una conexión a un InstanceContext. El uso real se debe determinar a partir de la experiencia.
<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 MaxConcurrentInstances especifica el número máximo de objetos InstanceContext en el servicio. Es importante tener en cuenta la relación existente entre las propiedades MaxConcurrentInstances y InstanceContextMode. Si InstanceContextMode es el valor resultante es PerSession el número total de sesiones. Si InstanceContextMode es PerCall, el valor resultante es el número de llamadas simultáneas. Si llega un mensaje cuando ya existe el número máximo de objetos InstanceContext, el mensaje se retiene hasta que se cierra un objeto InstanceContext.
Nota
Se escribe un seguimiento cada vez que se supera el valor de esta propiedad. El primer seguimiento se escribe como una advertencia.