【问题标题】:using external config file for a .NET windows service为 .NET windows 服务使用外部配置文件
【发布时间】:2011-04-26 21:13:46
【问题描述】:

我有一个用于 Windows 服务的 app.config 文件,其中包括数据库连接字符串和 appsettings。当我安装 Windows 服务时,它被安装在“C:\program files\”文件夹中,并且设置被复制到同一文件夹中名为“.exe.config”的文件中,这使得之后很难更改设置部署到测试环境。我可以将所有设置存储在共享网络驱动器上某处的外部文件中,而不是存储在安装服务的同一文件夹中吗?那可能吗?我能想到的唯一选择是创建一个 xml 文件并使用 .NET XML API 读取它,另一个问题是我需要注意文件中的更改并重新加载服务中的设置。

【问题讨论】:

标签: c# .net configuration windows-services app-config


【解决方案1】:

Linq to XML 使得读取外部设置文件变得相当容易。您还可以使用 FileSystemWatcher 来监视设置文件中的更改。

【讨论】:

    【解决方案2】:

    您可以将一些配置设置从核心配置文件中推出,例如:

    <connectionStrings configSource="connectionStrings.config" />
    

    还有:

    <?xml version="1.0" encoding="UTF-8"?>
    <connectionStrings>
    
    </connectionString>
    

    这样,只要您不部署 connectionStrings.config 文件,您就可以安全地部署应用程序并单独维护这些设置。这种方法的好处是您不需要创建一个全新的获取配置数据的方法,这是内置在配置系统中的,只需按照您当前的方式阅读这些设置即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多