配置多项目访问策略
本文关键字:策略 访问 项目 配置 | 更新日期: 2023-09-27 18:12:58
我目前的解决方案有3个项目,2个app.config(一个用于公共设置,另一个用于服务设置)。到目前为止,我只是创建静态类来充当访问值的中介。这样我就不用到处写ConfigurationManager.AppSettings["SomeKey"]
了。除非你想从另一个项目访问app.config文件,否则这个方法可以正常工作。
这是我目前正在做的(为简洁起见省略了所有属性)。
public class ServiceConfiguration
{
public static readonly string SyncEvery = ConfigurationManager.AppSettings["SyncEveryMinutes"];
}
我如何访问位于另一个项目的app.config文件?我想也许设置VS复制文件到输出目录会做的伎俩,但我的配置对象仍然是空的。
我无法想象有多少好的理由去阅读另一个应用程序的配置,它只是打开了一个不值得处理的蠕虫。
公开一个类,将项目的配置值公开为属性,并从消费类中访问它们。
public class FirstProjectClass
{
public static int SyncEveryMinutes
{
get { return (int)ConfigurationManager.AppSetting["SyncEveryMinutes"] };
}
}
public class SecondProjectClass
{
public void ShowConfigedValue()
{
Console.Writeline("Syncing every {0} minutes", FirstProjectClass.SyncEveryMinutes);
}
}
如果你有复杂的配置要求,你也可以查看自定义配置章节
ConfigurationManager。openexecconfiguration可以提供帮助:http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.openexeconfiguration.aspx