In Windows Communication Foundation è possibile stabilire il numero massimo di sessioni contemporanee che un oggetto ServiceHost può gestire, mediante la definizione di una proprietà MaxConcurrentSession dell'oggetto ServiceThrottling. Se avete letto il mio articolo introduttivo a WCF, pubblicato su Visual Basic Tips & Tricks, avrete avuto modo di vedere come l'oggetto ServiceHost consiste in una classe che rappresenta l'istanza attiva del proprio servizio WCF. Il seguente code snippet XML, da aggiungere al file Web.config, mostra come impostare il numero massimo di sessioni contemporanee a 20:
<behaviors>
<serviceBehaviors>
<behavior name="SessionNumber">
<serviceThrottling maxConcurrentSessions="20"/>
</< SPAN>behavior>
</< SPAN>serviceBehaviors>
< SPAN></behaviors>
L'elemento Behaviors va aggiunto al nodo System.ServiceModel del file di configurazione.
Ipotizzate che, per esempio, 40 client tentino la connessione al nostro servizio.
Questo sarà in grado di gestire fino a 20 connessioni contemporaneamente, mentre le altre 20 saranno messe in coda finchè i client connessi
non chiudano la connessione lasciando il posto agli accodati.
Alessandro