У меня следующий сценарий. Веб-часть нуждается в определенных параметрах конфигурации (примитивных типах данных), таких как, например, URL (строка) для извлечения и отображения данных из внешней системы. Поскольку каждый экземпляр веб-части в веб-приложении должен извлекать данные из одной и той же системы, параметры хранятся в пакете SPPropertyBag веб-приложения, поэтому веб-часть знает, где его искать. Параметры помещаются в пакет свойств через страницу приложения в ЦС.
В данный момент веб-часть использует объект конфигурации, который реализует шаблон синглтона для доступа к параметрам конфигурации, хранящимся в пакете свойств. Недостатком является то, что веб-часть не распознает изменение параметров конфигурации, пока пул приложений не будет сброшен, а одноэлементный объект будет заново создан с обновленными параметрами.
Теперь я ищу способ оптимизировать этот механизм таким образом, чтобы одноэлементный объект мог распознавать изменения конфигурации и перечитывать параметры, не уничтожая пул приложений.
Я подумал о каком-то механизме кэширования, который каким-то образом сообщает одноэлементному объекту, что параметры изменились. Я прочитал несколько статей о зависимостях кеша, которые могут быть полезны, но я не уверен, как использовать их с объектами SPPropertyBag.
Так мне интересно, как бы вы справились с этим?