Condividi tramite


ServiceThrottlingBehavior.MaxConcurrentCalls Proprietà

Definizione

Ottiene o imposta un valore che specifica il numero massimo di messaggi che vengono attivamente elaborati attraverso 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à

Il limite massimo di messaggi attivi nel servizio. Il valore predefinito è 16 volte il conteggio del processore.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare la classe ServiceThrottlingBehavior da un file di configurazione dell'applicazione che imposta le proprietà MaxConcurrentSessions, MaxConcurrentCalls e MaxConcurrentInstances su 1 a scopo di esempio. L'esperienza in scenari reali determina le impostazioni ottimali per qualsiasi applicazione specifica.

<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 elaborati attivamente attraverso un oggetto ServiceHost. Ogni canale può avere un messaggio in sospeso che non viene conteggiato rispetto al valore di MaxConcurrentCalls fino a quando Windows Communication Foundation (WCF) non inizia a elaborarlo.

È anche possibile impostare i valori di questo attributo usando l'elemento <serviceThrottling> in un file di configurazione dell'applicazione.

Avviso

MaxConcurrentCalls deve essere impostato su minore delle dimensioni del pool di connessioni SQL negli scenari in coda.

Si applica a