ServiceThrottle.MaxConcurrentSessions Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.