Freigeben über


Verwenden von ServiceThrottlingBehavior zur Steuerung der Leistung des WCF-Diensts

Mit der ServiceThrottlingBehavior-Klasse werden Eigenschaften verfügbar gemacht, mit denen die Anzahl der Instanzen oder Sitzungen begrenzt wird, die auf Anwendungsebene erstellt werden dürfen. Mit diesem Verhalten kann die Leistung der Windows Communication Foundation (WCF)-Anwendung optimiert werden.

Steuern von Dienstinstanzen und gleichzeitigen Aufrufen

Verwenden Sie die MaxConcurrentCalls-Eigenschaft, um die maximale Anzahl der Nachrichten anzugeben, die aktiv in einer ServiceHost-Klasse verarbeitet werden und die MaxConcurrentInstances-Eigenschaft, um die maximale Anzahl der InstanceContext-Objekte im Dienst anzugeben.

Da die Festlegung der Einstellungen für diese Eigenschaften in der Regel nach tatsächlicher Ausführung der Anwendung mit Lasten stattfindet, werden die Einstellungen für die ServiceThrottlingBehavior-Eigenschaften normalerweise mithilfe des <serviceThrottling>-Elements in einer Anwendungskonfigurationsdatei angegeben.

Im folgenden Codebeispiel wird die Verwendung der ServiceThrottlingBehavior-Klasse von einer Anwendungskonfigurationsdatei gezeigt, die die MaxConcurrentSessions, MaxConcurrentCalls-Eigenschaft und die MaxConcurrentInstances-Eigenschaft in einem einfachen Beispiel auf 1 festlegt. Die optimalen Einstellungen für eine bestimmte Anwendung finden Sie durch praktische Erfahrung heraus.

Das genaue Laufzeitverhalten hängt von den Werten der ConcurrencyMode-Eigenschaft und der InstanceContextMode-Eigenschaft ab, mit denen die Anzahl der gleichzeitig in einem Vorgang ausführbaren Nachrichten und die Lebensdauer des Dienst-InstanceContext relativ zu den eingehenden Kanalsitzungen bestimmt wird.

Ausführliche Informationen finden Sie unter MaxConcurrentCalls und MaxConcurrentInstances.

Siehe auch

Referenz

ServiceThrottlingBehavior
MaxConnections