ServiceThrottle Klasa

Definicja

Kontroluje przepływność usługi, aby zoptymalizować dostępność i wydajność.

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

Przykłady

Poniższy przykład kodu przedstawia typowe użycie elementu ServiceThrottle , odwołując ServiceThrottlingBehavior się do pliku konfiguracji aplikacji. W takim przypadku określone wartości określają co najwyżej jeden proces przetwarzania komunikatów z jednego połączenia do jednego InstanceContext. Rzeczywiste użycie musi być określane za pomocą środowiska.

<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>

Uwagi

Użyj polecenia , ServiceThrottle aby dostroić charakterystykę wydajności usługi. Najprostszym sposobem skonfigurowania ServiceThrottle dla usługi jest użycie elementu ServiceThrottlingBehavior, zwłaszcza z pliku konfiguracji aplikacji.

Właściwość MaxConcurrentCalls określa maksymalną liczbę komunikatów aktywnie przetwarzanych we wszystkich obiektach dyspozytora w ServiceHost obiekcie.

Właściwość MaxConcurrentInstances określa maksymalną liczbę InstanceContext obiektów w usłudze.

Właściwość MaxConcurrentSessions określa maksymalną liczbę sesji, które ServiceHost można zaakceptować.

Uwaga

Ślad jest zapisywany, gdy pierwsze wywołanie , InstanceContextlub sesja jest w kolejce na liście oczekiwania. Pierwszy ślad jest zapisywany jako ostrzeżenie.

Właściwości

MaxConcurrentCalls

Pobiera lub ustawia maksymalną liczbę komunikatów aktywnie przetwarzanych we wszystkich obiektach dyspozytora w obiekcie ServiceHost.

MaxConcurrentInstances

Pobiera lub ustawia maksymalną liczbę obiektów usługi, które mogą być wykonywane jednocześnie.

MaxConcurrentSessions

Pobiera lub ustawia wartość określającą maksymalną liczbę sesji, ServiceHost które obiekt może akceptować jednocześnie.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy