ServiceThrottlingBehavior.MaxConcurrentCalls Eigenschaft

Definition

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.

Gilt für: