Condividi tramite


ServiceThrottle.MaxConcurrentCalls Proprietà

Definizione

Ottiene o imposta il numero massimo di messaggi che vengono attivamente elaborati negli oggetti del dispatcher in un oggetto 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

Valore della proprietà

Int32

Il limite massimo di messaggi attivi nel servizio. Il valore predefinito è 16 * processori presenti nel computer.

Esempio

Nell'esempio di codice seguente viene illustrato l'utilizzo tipico della classe ServiceThrottle facendo riferimento al ServiceThrottlingBehavior in un file di configurazione dell'applicazione. In questo caso, i valori specificati stabiliscono, al massimo, un'elaborazione di messaggi per volta da una connessione a un elemento InstanceContext. L'utilizzo realistico deve essere determinato tramite l'esperienza.

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

Commenti

La proprietà MaxConcurrentCalls specifica il numero massimo di messaggi che vengono attivamente elaborati negli oggetti del dispatcher in un oggetto ServiceHost. Ogni canale può avere un messaggio in sospeso che non viene conteggiato rispetto al valore di MaxConcurrentCalls finché non Windows Communication Foundation (WCF) non inizia a elaborarlo.

Nota

Viene scritta una traccia ogni volta che il valore di questa proprietà viene superato.

Si applica a