FAQ TBarCode .NET
Uso di TBarCode ASP.NET in Web Farm (IIS 7.0)
Uso di TBarCode ASP.NET in Web Farm (IIS 7.0)
Se usate TBarCode ASP.NET Web Control in un Web Farm potreste riscontrare la seguente eccezione:
Exception Type: System.ApplicationException Message: The requested image is no longer cached.
Il TBarCode .NET Web Control usa l'oggetto HttpContext.Cache per memorizzare l'immagine del codice a barre generata. Poiché le richieste http sono bilanciate all'interno di un web farm, può accadere che un determinato Web Control riceva una richiesta per un'immagine che è stata generata su un server applicativo diverso (e quindi non è disponibile nella sua cache locale).
Per superare questo problema potete
- Sincronizzare l'oggetto HttpContext.Cache su tutti i server nel web farm (="cache distribuite"). Questo può essere fatto con programmazione aggiuntiva o software di terze parti.
- oppure semplicemente usare Client Affinity in IIS 7.0 (consigliato)
Con Client Affinity abilitata, tutte le richieste vengono contrassegnate con un cookie in modo che le richieste successive (dallo stesso client) vengano indirizzate allo stesso server nel web farm.
Vedere Application Request Routing (Passaggio 3 – Configurare la Client Affinity)
Application Request Routing fornisce una funzionalità di client affinity che mappa un client a un server di contenuti dietro Application Request Routing per la durata di una sessione client. Quando questa funzionalità è abilitata, l'algoritmo di bilanciamento del carico viene applicato solo per la primissima richiesta del client.![]()