ServiceThrottlingBehavior Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |