Freigeben über


ServiceThrottle.MaxConcurrentInstances Eigenschaft

Definition

Ruft die maximale Anzahl der Dienstobjekte ab, die gleichzeitig ausgeführt werden können, oder legt diese fest.

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

Int32

Die maximale Anzahl von gleichzeitigen InstanceContext-Objekten im Dienst. Der Standardwert ist die maximale Anzahl gleichzeitiger Aufrufe plus die maximale Anzahl gleichzeitiger Sitzungen.

Beispiele

Im folgenden Codebeispiel wird eine typische Verwendung von ServiceThrottle gezeigt, bei der in einer Anwendungskonfigurationsdatei auf ServiceThrottlingBehavior verwiesen wird. In diesem Beispiel ergeben die festgelegten Werte höchstens jeweils eine Nachrichtenverarbeitung von einer Verbindung zu einem InstanceContext. Die beste Verwendung in der Praxis muss durch Erfahrung ermittelt werden.

<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. PerSession Ist InstanceContextMode 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.

Hinweis

Eine Ablaufverfolgung wird jedes Mal geschrieben, wenn der Wert dieser Eigenschaft überschritten wird. Die erste Ablaufverfolgung wird als Warnung geschrieben.

Gilt für