ServiceThrottle Clase
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í.
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) |