对于我的.net应用程序,我想将配置数据存储在SQL Server中,并希望最初加载它,然后定期刷新数据,以防数据库直接进行任何更改。是否有任何工作/ lib已经可以使用“Centralized Configuration Manager”来存储多个应用程序的配置数据。
否则是否有设计模式可以帮助我设计解决方案(特别刷新部分)。
我对此已有的想法很少
1.创建配置提供程序(可以更改回基于xml的配置或扩展到其他配置提供程序)
2.使用SQL依赖关系缓存定期ping数据库
3.可以作为WCF服务公开,以便多个应用程序可以使用存储在中心位置的配置
思考?
答案 0 :(得分:1)
关于#2的想法,虽然我不知道你正在使用/可以使用的是什么版本的EntLib或MSSQL。
2005年的SQL Dependency不仅支持轮询,还支持推送模型。它将通过NDS(通知传递服务)推送到IIS,并在表更改时通知。如果您有多个应用程序依赖于存储在同一位置的配置,那么这可能是一个不错的选择。然后,您可以获得及时更新,而不是多个应用程序不断轮询更改(即减少网络聊天)。
答案 1 :(得分:0)
您是否查看了Enterprise Library的配置应用程序块?
如果您自己动手,MS SQL 2005+本身支持缓存失效,因此它可以在缓存数据更改时通知您的程序。