ServiceThrottlingBehavior.MaxConcurrentInstances 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 ein Wert abgerufen oder festgelegt, der die maximale Anzahl an InstanceContext-Objekten innerhalb des Diensts angibt, die gleichzeitig ausgeführt werden können.
public:
property int MaxConcurrentInstances { int get(); void set(int value); };
public int MaxConcurrentInstances { get; set; }
member this.MaxConcurrentInstances : int with get, set
Public Property MaxConcurrentInstances As Integer
Eigenschaftswert
Die maximale Anzahl von gleichzeitigen InstanceContext-Objekten im Dienst. Der Standardwert ist die Summe des Werts von MaxConcurrentSessions und des Werts von MaxConcurrentCalls.
Beispiele
Im folgenden Codebeispiel wird die Verwendung des ServiceThrottlingBehavior aus einer Anwendungskonfigurationsdatei gezeigt, wobei die MaxConcurrentSessions-, MaxConcurrentCalls- und MaxConcurrentInstances-Eigenschaften 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 MaxConcurrentInstances-Eigenschaft gibt die maximale Anzahl der InstanceContext-Objekte im Dienst an. Es ist wichtig, die Beziehung zwischen der MaxConcurrentInstances-Eigenschaft und der InstanceContextMode-Eigenschaft zu beachten. Wenn InstanceContextModePerSession ist, ist der resultierende Wert die Gesamtzahl der Sitzungen. Wenn InstanceContextModePerCall ist, ist der resultierende Wert die Anzahl gleichzeitiger Aufrufe. Wenn eine Nachricht eintrifft, während die maximale Anzahl an InstanceContext-Objekten bereits vorhanden ist, wird die Nachricht zurückgehalten, bis ein InstanceContext-Objekt geschlossen wird.
Sie können die Werte dieses Attributs auch mithilfe des <serviceThrottling-Elements> in einer Anwendungskonfigurationsdatei festlegen.