Condividi tramite


ServiceThrottle.MaxConcurrentSessions Proprietà

Definizione

Ottiene o imposta un valore che specifica il numero massimo di sessioni accettate contemporaneamente da un oggetto ServiceHost.

public:
 property int MaxConcurrentSessions { int get(); void set(int value); };
public int MaxConcurrentSessions { get; set; }
member this.MaxConcurrentSessions : int with get, set
Public Property MaxConcurrentSessions As Integer

Valore della proprietà

Il numero massimo di sessioni accettate da un host del servizio. Il valore predefinito è 100 * numero di processori 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à MaxConcurrentSessions specifica il numero massimo di canali accettati da ServiceHost. Ogni oggetto listener può avere un canale in sospeso che non conteggia il valore di MaxConcurrentSessions fino a quando WCF accetta il canale e inizia l'elaborazione dei messaggi. Questa proprietà è molto utile negli scenari che utilizzano le sessioni.

Nota

Viene scritta una traccia ogni volta che il valore di questa proprietà viene superato. La prima traccia viene scritta come un avviso.

Per altre informazioni sulle sessioni, vedere Uso di sessioni.

In genere, questa proprietà viene impostata utilizzando la proprietà ServiceThrottlingBehavior.MaxConcurrentSessions.

Si applica a