ServiceThrottle Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Controlla la produttività di un servizio per ottimizzare la disponibilità e le prestazioni.
public ref class ServiceThrottle sealed
public sealed class ServiceThrottle
type ServiceThrottle = class
Public NotInheritable Class ServiceThrottle
- Ereditarietà
-
ServiceThrottle
Esempio
Nell'esempio di codice seguente viene illustrato l'utilizzo tipico della classe ServiceThrottle facendo riferimento al ServiceThrottlingBehavior in un file di configurazione dell'applicazione. In questo caso, i valori specificati stabiliscono, al massimo, un'elaborazione di messaggi per volta da una connessione a un elemento InstanceContext. L'utilizzo realistico deve essere determinato tramite l'esperienza.
<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>
Commenti
Utilizzare ServiceThrottle per ottimizzare le caratteristiche delle prestazioni di un servizio. Il modo più facile di configurare ServiceThrottle per un servizio è di utilizzare ServiceThrottlingBehavior, soprattutto da un file di configurazione dell'applicazione.
La proprietà MaxConcurrentCalls specifica il numero massimo di messaggi che vengono attivamente elaborati negli oggetti del dispatcher in un oggetto ServiceHost.
La proprietà MaxConcurrentInstances specifica il numero massimo di oggetti InstanceContext nel servizio.
La proprietà MaxConcurrentSessions specifica il numero massimo di sessioni accettate da ServiceHost.
Nota
Viene scritta una traccia quando la prima chiamata, InstanceContext o sessione vengono accodate in attesa. La prima traccia viene scritta come un avviso.
Proprietà
MaxConcurrentCalls |
Ottiene o imposta il numero massimo di messaggi che vengono attivamente elaborati negli oggetti del dispatcher in un oggetto ServiceHost. |
MaxConcurrentInstances |
Ottiene o imposta il numero massimo di oggetti del servizio che possono essere eseguiti contemporaneamente. |
MaxConcurrentSessions |
Ottiene o imposta un valore che specifica il numero massimo di sessioni accettate contemporaneamente da un oggetto ServiceHost. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |