ServiceThrottle Classe

Definizione

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)

Si applica a