Udostępnij za pośrednictwem


ServiceThrottlingBehavior Klasa

Definicja

Konfiguruje ustawienia przepływności czasu wykonywania, które umożliwiają dostrajanie wydajności usługi.

public ref class ServiceThrottlingBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceThrottlingBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceThrottlingBehavior = class
    interface IServiceBehavior
Public Class ServiceThrottlingBehavior
Implements IServiceBehavior
Dziedziczenie
ServiceThrottlingBehavior
Implementuje

Przykłady

Poniższy przykład kodu przedstawia użycie z ServiceThrottlingBehavior pliku konfiguracji aplikacji, który ustawia MaxConcurrentSessionswłaściwości , MaxConcurrentCallsi MaxConcurrentInstances na wartość 1 jako przykład. Środowisko rzeczywiste określa, jakie są optymalne ustawienia dla każdej konkretnej aplikacji.

<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

ServiceThrottlingBehavior Użyj klasy, aby kontrolować różne ustawienia przepływności, które pomagają zapobiec wyczerpaniu pamięci aplikacji.

Właściwość MaxConcurrentCalls ogranicza liczbę komunikatów, które są obecnie przetwarzane w obiekcie ServiceHost.

Właściwość MaxConcurrentInstances ogranicza liczbę InstanceContext obiektów wykonywanych jednocześnie w obiekcie ServiceHost.

Właściwość MaxConcurrentSessions ogranicza liczbę sesji, które ServiceHost może zaakceptować obiekt.

Ponieważ równoważenie obciążenia w czasie wykonywania wymaga środowiska uruchamiania aplikacji, użycie ServiceThrottlingBehavior pliku konfiguracji za pośrednictwem aplikacji jest najczęstszą metodą modyfikowania wykonywania w celu zmaksymalizowania wydajności usługi.

Uwaga

Ślad jest zapisywany za każdym razem, gdy zostanie osiągnięta wartość tych właściwości. Pierwszy ślad jest zapisywany jako ostrzeżenie.

Można również ustawić wartości tego atrybutu przy użyciu <elementu serviceThrottling> w pliku konfiguracji aplikacji.

Konstruktory

ServiceThrottlingBehavior()

Inicjuje nowe wystąpienie klasy ServiceThrottlingBehavior.

Właściwości

MaxConcurrentCalls

Pobiera lub ustawia wartość określającą maksymalną liczbę komunikatów aktywnie przetwarzanych w obiekcie ServiceHost.

MaxConcurrentInstances

Pobiera lub ustawia wartość określającą maksymalną liczbę InstanceContext obiektów w usłudze, 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 wartość bieżącego wystąpienia.

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

Jawne implementacje interfejsu

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Konfiguruje powiązania w celu obsługi zachowania usługi.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Konfiguruje usługę do obsługi zachowania usługi.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Sprawdza, czy usługa i host mogą obsługiwać zachowanie usługi.

Dotyczy