Freigeben über


ServiceThrottlingBehavior Klasse

Definition

Konfiguriert Laufzeitdurchsatzeinstellungen, die es Ihnen ermöglichen, die Dienstleistung zu optimieren.

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
Vererbung
ServiceThrottlingBehavior
Implementiert

Beispiele

Im folgenden Codebeispiel wird die Verwendung des ServiceThrottlingBehavior aus einer Anwendungskonfigurationsdatei gezeigt, wobei die MaxConcurrentSessions, MaxConcurrentCalls-Eigenschaft und die MaxConcurrentInstances-Eigenschaft als Beispiel auf 1 festgelegt werden. Die optimalen Einstellungen für eine bestimmte Anwendung finden Sie durch praktische Erfahrung heraus.

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

Hinweise

Steuern Sie mithilfe der ServiceThrottlingBehavior-Klasse verschiedene Durchsatzeinstellungen, die verhindern, dass der Anwendung nicht genügend Speicherplatz zur Verfügung steht.

Die MaxConcurrentCalls-Eigenschaft begrenzt die Anzahl der Nachrichten, die derzeit von einem ServiceHost verarbeitet werden.

Die MaxConcurrentInstances-Eigenschaft begrenzt die Anzahl der InstanceContext-Objekte, die gleichzeitig auf einem ServiceHost ausgeführt werden.

Die MaxConcurrentSessions-Eigenschaft begrenzt die Anzahl der Sitzungen, die ein ServiceHost-Objekt akzeptieren kann.

Da der Lastenausgleich zur Laufzeit Erfahrung in der Ausführung der Anwendung erfordert, wird meist ein ServiceThrottlingBehavior über eine Anwendungskonfigurationsdatei verwendet, um die Leistung des Diensts durch Änderung der Ausführung zu maximieren.

Hinweis

Eine Ablaufverfolgung wird jedes Mal geschrieben, wenn der Wert dieser Eigenschaften erreicht wird. Die erste Ablaufverfolgung wird als Warnung geschrieben.

Sie können auch die Werte dieses Attributs festlegen, indem Sie das <ServiceThrottling-Element> in einer Anwendungskonfigurationsdatei verwenden.

Konstruktoren

ServiceThrottlingBehavior()

Initialisiert eine neue Instanz der ServiceThrottlingBehavior-Klasse.

Eigenschaften

MaxConcurrentCalls

Hiermit wird der Wert abgerufen oder festgelegt, der die maximale Anzahl der Nachrichten angibt, die auf einem ServiceHost aktiv verarbeitet werden.

MaxConcurrentInstances

Hiermit wird ein Wert abgerufen oder festgelegt, der die maximale Anzahl an InstanceContext-Objekten innerhalb des Diensts angibt, die gleichzeitig ausgeführt werden können.

MaxConcurrentSessions

Ruft einen Wert ab, der die maximale Anzahl an Sitzungen angibt, die ein ServiceHost-Objekt gleichzeitig akzeptiert.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Konfiguriert die Bindungen zur Unterstützung des Dienstverhaltens.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Konfiguriert den Dienst zur Unterstützung des Dienstverhaltens.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Überprüft, dass der Dienst und der Host das Dienstverhalten unterstützen können.

Gilt für