C# ASP.NET 从服务器轮询 XML 并缓存它

C# ASP.NET Polling XML from server and cache it

多个web应用运行同一个配置XML文件,文件是从一个服务上下载的,高可用。然而,我想要所有的网络应用程序 运行,即使服务已关闭。最佳做法是什么?如果可能,建议最佳架构解决方案和 C# 代码。

谢谢

在我看来,这真的取决于服务重启、重新部署的频率,配置服务关闭的频率以及配置更改的频率。以及配置的重要性(是用户偏好还是端点地址)?

  • 您可以将其保存到每个应用程序文件夹中的本地副本并将其用作缓存,并在服务可用时刷新它。
  • 如果配置不重要,可以定义回退配置,当配置服务离线时使用回退值。
  • 您可以使用共享数据库来存储配置。
  • 您可以在每个使用此配置的应用程序中实现一个端点,以便在配置服务识别到更改时进行保存。

例如,这在您的配置服务中,尽管您需要一种机制来确保当配置服务通知其订阅者时,他们也需要在线。

    UpdateSystemSetting(setting) {
      foreach (var consumer in consumers) 
      {
        consumer.NotifyChange(newConfiguration);
      }
    }