Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Linee guida nella scrittura di codice #17: Load balancing

Pillole sulla buona scrittura del codice: load balancing
Pillole sulla buona scrittura del codice: load balancing
Link copiato negli appunti

Quando un sito o un'applicazione web devono sostenere un traffico molto elevato, si fa sovente ricorso ad una cosidetta Web Farm, ovvero un insieme di più web server che gestiscono e forniscono accesso alla stessa Web Application in modalità  Load Balancing.

In uno scenario di questo tipo le richieste degli utenti possono essere dirottate, a seconda delle richieste e del carico dei server, ad un web server piuttosto che ad un altro. In questo contesto può capitare quindi che allo scatenarsi di un PostBack, la pagina richiami se stessa da un web server diverso da quello da cui è partita la richiesta di PostBack.

Se ad esempio è stato premuto un Button su una pagina caricata dal WebServer1 e successivamente al PostBack risponde il WebServer2 invece del WebServer1, l'evento Click del Button non verrà  sollevato, lasciando quindi l'azione incompiuta.

Per ovviare a questo inconveniente in caso appunto di configurazione Web Farm sono possibili diverse soluzioni.

La prima consiste nel modificare il machine.config di tutti i server in Load Balancing in modo da disabilitare il controllo del MAC Address per la validazione del ViewState delle pagine. Per fare questo è sufficiente inserire nel machine.config dei server la seguente sezione di configurazione:

<system.web>
   <pages enableViewStateMac="false" />
</system.web>

Se per questioni di sicurezza non si vuole disabilitare questa funzionalità , allora è possibile invece rendere identici le chiavi machineKey di tutti i server sempre agendo nel machine.config sulla chiave:

<machineKey validationKey='3C666389890E5F9D1 ....'  decryptionKey='706C23AC11C046FDAF37CE724....'
 validation='SHA1'/>

Ti consigliamo anche