我有一个用于Windows服务的app.config文件,其中包括数据库连接字符串和appsettings。当我安装Windows服务时,它安装在“C:\ program files \”文件夹中,并将设置复制到同一文件夹中名为“.exe.config”的文件中,这样就很难在其后更改设置部署到测试环境。我可以将所有设置存储在共享网络驱动器上某处的外部文件中,而不是存储服务的同一文件夹中吗?那可能吗?我能想到的唯一选择是创建一个xml文件并使用.NET XML API读取它,另一个问题是我需要注意文件中的更改并重新加载服务中的设置。
答案 0 :(得分:2)
Linq to XML使得读取外部设置文件变得相当容易。您还可以使用FileSystemWatcher监视设置文件中的更改。
答案 1 :(得分:2)
您可以从核心配置文件中推出一些配置设置,例如:
<connectionStrings configSource="connectionStrings.config" />
和
<?xml version="1.0" encoding="UTF-8"?>
<connectionStrings>
</connectionString>
这样,只要您不部署connectionStrings.config
文件,就可以安全地部署应用程序并单独维护这些设置。关于这种方法的好处是,您不需要创建一个获取配置数据的全新方法,这是内置于配置系统中的,只需阅读这些设置当前的操作方式。
答案 2 :(得分:0)