Udostępnij za pośrednictwem


ServiceThrottle.MaxConcurrentCalls Właściwość

Definicja

Pobiera lub ustawia maksymalną liczbę komunikatów aktywnie przetwarzanych we wszystkich obiektach dyspozytora w obiekcie ServiceHost.

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

Wartość właściwości

Int32

Górny limit aktywnych komunikatów w usłudze. Wartość domyślna to 16 * liczba procesorów na komputerze.

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ść MaxConcurrentCalls określa maksymalną liczbę komunikatów aktywnie przetwarzanych we wszystkich obiektach dyspozytora w ServiceHost obiekcie. Każdy kanał może mieć jeden oczekujący komunikat, który nie jest liczone względem wartości, MaxConcurrentCalls dopóki Windows Communication Foundation (WCF) zacznie go przetwarzać.

Uwaga

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

Dotyczy