ServiceThrottlingBehavior.MaxConcurrentCalls Eigenschaft
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.
Hiermit wird der Wert abgerufen oder festgelegt, der die maximale Anzahl der Nachrichten angibt, die auf einem ServiceHost aktiv verarbeitet werden.
public:
property int MaxConcurrentCalls { int get(); void set(int value); };
public int MaxConcurrentCalls { get; set; }
member this.MaxConcurrentCalls : int with get, set
Public Property MaxConcurrentCalls As Integer
Eigenschaftswert
Die Obergrenze aktiver Nachrichten im Dienst. Der Standardwert ist 16 * Anzahl der Prozessoren.
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
Die MaxConcurrentCalls-Eigenschaft gibt die maximale Anzahl der Nachrichten an, die aktiv in einem ServiceHost-Objekt verarbeitet werden. Jeder Kanal kann eine ausstehende Nachricht haben, die erst mit dem Wert von MaxConcurrentCalls gezählt wird, wenn Windows Communication Foundation (WCF) mit der Verarbeitung beginnt.
Sie können die Werte dieses Attributs auch mithilfe des <serviceThrottling-Elements> in einer Anwendungskonfigurationsdatei festlegen.
Warnung
MaxConcurrentCalls sollte in Szenarien in der Warteschlange auf kleiner als die Größe des SQL-Verbindungspools festgelegt werden.