多个web应用程序使用同一个配置XML文件运行,并且该文件是从一个高度可用的服务下载的。I、 然而,我希望所有的网络应用程序都能运行,即使服务已经关闭。什么是最佳实践?如果可能的话,建议一个最佳的体系结构解决方案和C#代码。
感谢
在我看来,这实际上取决于服务重新启动、重新部署的频率、配置服务关闭的频率以及配置更改的频率。以及配置的关键程度(是用户偏好还是端点地址(?
- 您可以将其保存到每个应用程序文件夹的本地副本中,并将其用作缓存,并在服务可用时刷新它
- 如果配置不是关键配置,则可以定义回退配置,并在配置服务脱机时使用回退值
- 您可以使用共享数据库来存储配置
- 您可以在使用此配置的每个应用程序中实现一个端点,以便在配置服务标识更改时保存
例如,这在您的配置服务中,尽管您需要一种机制来确保当配置服务通知其订阅者时,他们也需要在线。
UpdateSystemSetting(setting) {
foreach (var consumer in consumers)
{
consumer.NotifyChange(newConfiguration);
}
}