ServiceThrottlingBehavior.MaxConcurrentInstances Propiedad

Definición

Obtiene o establece un valor que especifica el número máximo de sesiones que los objetos InstanceContext del servicio puede ejecutar en un momento dado.

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

Int32

Número máximo de objetos InstanceContext que están en el servicio en un momento dado. El valor predeterminado es la suma del valor de MaxConcurrentSessions y el valor de MaxConcurrentCalls.

Ejemplos

El siguiente ejemplo de código muestra el uso de ServiceThrottlingBehavior desde un archivo de configuración de la aplicación que establece las propiedades MaxConcurrentSessions, MaxConcurrentCalls y MaxConcurrentInstances como 1 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 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 PerSession, el valor resultante es 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.

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

Se aplica a