如何将来自不同应用程序部分的全局配置设置封装在单个文件中?

时间:2011-10-05 19:53:56

标签: .net iis configuration-files

我们有一个基于IIS的应用程序,它具有不同的Web应用程序,一些第三方组件和多种服务。

  • 服务器1

    • AppPool1
      • App1的
    • AppPool2
      • 第三方应用
  • 服务器2

    • AppPool3
      • 第三方应用2
      • App2的
    • Windows服务
    • CLR存储过程

目标是将所有环境相关设置(例如连接字符串,URLS等)放入每个环境(开发,测试,集成,生产)的单个配置文件中。应用程序相关内容应基于此“全局”设置文件和每个应用程序的单个设置文件。

我必须使用内置的静态System.Configuration.ConfigurationManager类,因为某些第三方工具依赖于它 我知道使用System.Configuration.ConfigurationManager的以下可能方法:

  • 单个文件(当前,冗余方法)
  • Machine.config(太全局)
  • IIS中的分层配置(不影响服务和CLR Proc)

修改 linkedConfiguration元素仅影响加载器绑定策略。

还有其他方法吗? 哪一个最好?

1 个答案:

答案 0 :(得分:0)

我假设您正在使用数据库。您可以在数据库服务器中创建数据库以存储配置值,共享或每个应用程序。然后,您需要在每个web.config中存储的唯一内容是到“配置数据库”的连接字符串。

或许,您可以创建一个以类似方式提供配置值的Web服务。