Comparteix a través de


ServiceThrottle Clase

Definición

Controla el rendimiento de un servicio para optimizar la disponibilidad y rendimiento.

public ref class ServiceThrottle sealed
public sealed class ServiceThrottle
type ServiceThrottle = class
Public NotInheritable Class ServiceThrottle
Herencia
ServiceThrottle

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

Use la propiedad ServiceThrottle para ajustar las características de rendimiento de un servicio. La manera más fácil de configurar la propiedad ServiceThrottle para un servicio es utilizar ServiceThrottlingBehavior, sobre todo desde un archivo de configuración de la aplicación.

La propiedad MaxConcurrentCalls especifica el número máximo de mensajes que se están procesando activamente en todos los objetos de distribuidor en un objeto ServiceHost.

La propiedad MaxConcurrentInstances especifica el número máximo de objetos InstanceContext en el servicio.

La propiedad MaxConcurrentSessions especifica el número máximo de sesiones que un ServiceHost puede aceptar.

Nota:

Se escribe un seguimiento cuando la primera llamada, InstanceContext, o la sesión se pone en la cola en la lista de espera. El primer seguimiento se escribe como una advertencia.

Propiedades

MaxConcurrentCalls

Obtiene o establece el número máximo de mensajes que se procesan activamente en todos los objetos de distribuidor en ServiceHost.

MaxConcurrentInstances

Obtiene o establece el número máximo de objetos de servicio que se pueden ejecutar simultáneamente.

MaxConcurrentSessions

Obtiene o establece un valor que especifica el número máximo de sesiones que un objeto ServiceHost puede aceptar en un momento dado.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a