FAQ TBarCode .NET
Использование TBarCode ASP.NET в веб-фермах (IIS 7.0)
Использование TBarCode ASP.NET в веб-фермах (IIS 7.0)
При использовании веб-элемента управления TBarCode ASP.NET Web Control в веб-ферме вы можете столкнуться со следующим исключением:
Exception Type: System.ApplicationException Message: The requested image is no longer cached.
Веб-элемент управления TBarCode .NET Web Control использует объект HttpContext.Cache для хранения сгенерированного изображения штрихкода. Поскольку http-запросы балансируются по нагрузке в веб-ферме, может случиться, что конкретный веб-элемент управления получает запрос на изображение, которое было сгенерировано на другом сервере приложений (и поэтому недоступно в его локальном кэше).
Чтобы преодолеть эту проблему, вы можете
- Синхронизировать объект HttpContext.Cache на всех серверах в веб-ферме (= "распределённые кэши"). Это можно сделать с помощью дополнительного программирования или стороннего программного обеспечения.
- или просто использовать Client Affinity в IIS 7.0 (рекомендуется)
При включённой привязке клиента (client affinity) все запросы помечаются файлом cookie, чтобы последующие запросы (от того же клиента) направлялись на тот же сервер в веб-ферме.
См. Application Request Routing (шаг 3 — настройка привязки клиента)
Application Request Routing provides a client affinity feature that maps a client to a content server behind Application Request Routing for the duration of a client session. When this feature is enabled, the load balancing algorithm is applied only for the very first request from the client.![]()