ServiceThrottle.MaxConcurrentInstances Propiedad

Definición

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

Int32

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.

Se aplica a