2009-02-18 3 views
1

Для моего .net-приложения я хотел бы сохранить данные конфигурации в SQL Server и сначала загрузить его, а после этого обновить данные с регулярным интервалом, если есть изменение производится непосредственно в базе данных. Есть ли в работе/lib уже что-то доступное «Централизованный диспетчер конфигурации», который может хранить данные конфигурации нескольких приложений.Динамически загружать настройки приложения из SQL Server с регулярным интервалом

Else Есть шаблон дизайна, который мог бы помочь мне в разработке решения (Специально обновить часть).

Несколько мыслей у меня уже есть на этом
1. Создание поставщика конфигурации (Может быть изменены на конфигурацию на основе XML или продлено к другому провайдеру конфигурации)
2. Использование SQL Dependency кэша свистеть базу данных на регулярные промежутки времени ,
3. Может быть выставлен как служба WCF, так что несколько приложений могут использовать конфигурацию, хранящуюся в центральном месте

Мысли?

ответ

0

Вы просматривали блок приложений конфигурации Enterprise Library?

Если вы сделаете это самостоятельно, MS SQL 2005+ поддерживает недействительность кеша изначально, поэтому он может уведомлять вашу программу при изменении данных в кеше.

+0

Согласно моему пониманию, блок конфигурации больше не является частью новых блоков Enterprise Application Blocks. Я могу получить старую, но я не уверен, насколько сложным будет код и будет соответствовать моей ситуации. Вы советуете идти вперед и проверять это. –

1

Мысли о # 2, хотя я не знаю, какую версию EntLib или MSSQL вы используете/можете использовать.

SQL Dependency в 2005 году не только поддерживает опрос, но и модель push. Он будет перенаправляться в IIS через NDS (службы доставки уведомлений) и уведомлять, когда таблицы меняются. Это может быть хорошим вариантом, если у вас есть несколько приложений, которые зависят от конфигурации, хранящейся в том же месте. Затем вы получаете своевременные обновления, а не многочисленные приложения, постоянно проверяющие изменения (т. Е. Меньше сетевых разговоров).

Смежные вопросы