Udostępnij za pośrednictwem


ServiceThrottle.MaxConcurrentInstances Właściwość

Definicja

Pobiera lub ustawia maksymalną liczbę obiektów usługi, które mogą być wykonywane jednocześnie.

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

Wartość właściwości

Int32

Maksymalna liczba InstanceContext obiektów w usłudze jednocześnie. Wartość domyślna to Maksymalna liczba współbieżnych wywołań i maksymalna liczba współbieżnych sesji.

Przykłady

Poniższy przykład kodu przedstawia typowe użycie elementu ServiceThrottle , odwołując ServiceThrottlingBehavior się do pliku konfiguracji aplikacji. W takim przypadku określone wartości określają co najwyżej jeden proces przetwarzania komunikatów z jednego połączenia do jednego InstanceContext. Rzeczywiste użycie musi być określane za pomocą środowiska.

<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>

Uwagi

Właściwość MaxConcurrentInstances określa maksymalną liczbę InstanceContext obiektów w usłudze. Należy pamiętać o relacji między MaxConcurrentInstances właściwością a właściwością InstanceContextMode . Jeśli InstanceContextMode jest to wynikowa wartość to PerSession całkowita liczba sesji. Jeśli InstanceContextMode jest to PerCall, wynikowa wartość to liczba współbieżnych wywołań. Jeśli komunikat zostanie wyświetlony, gdy maksymalna liczba InstanceContext obiektów już istnieje, komunikat jest przechowywany do momentu InstanceContext zamknięcia obiektu.

Uwaga

Ślad jest zapisywany za każdym razem, gdy wartość tej właściwości zostanie przekroczona. Pierwszy ślad jest zapisywany jako ostrzeżenie.

Dotyczy