创建连接文件的最佳实践

2024-03-02

我有一个应用程序,其中有一些缓存、队列和数据库的配置文件。

public class ServerConfiguration: ConfigurationSection
{
    [ ConfigurationProperty( FOO, DefaultValue = "", IsRequired = false ) ]
    public string FOO
    {
        get { return (string)this[FOO]; }
        set { this[FOO] = value; }
    }
}

这就是我对配置文件所做的事情,并且我还有一些继承层次结构。

您使用什么来处理配置?为此目的有哪些最佳实践?


我喜欢并广泛使用 Microsoft 配置库,但我尝试确保我的应用程序不依赖于它。这通常涉及让我的配置部分实现一个接口,因此您的示例如下所示:

public class ServerConfiguration : ConfigurationSection, IServerConfiguration
{
    [ ConfigurationProperty( FOO, DefaultValue = "", IsRequired = false ) ]
    public string FOO
    {
        get { return (string)this[FOO]; }
        set { this[FOO] = value; }
    }
}

public interface IServerConfiguration
{
    public string FOO { get; } //Unless I am updating the config in code I don't use set on the interface
}

现在,无论您在代码中何处使用配置,您只需要担心 IServerConfiguration,并且可以更改实现而无需更改用法。有时,我只是在开发过程中从硬编码的类开始,只有当我实际上需要在不同的环境中具有不同的值时,才将其更改为配置部分。

如果您使用配置部分,您还依赖于 ConfigurationManager。我通过使用 IConfigurationProvider[T] 从我的代码中隐藏了这一点,其中 T 是 IServerConfiguration,您可以在我的博客上的配置忽略下看到这样的示例。

http://bronumski.blogspot.com/search/label/Configuration http://bronumski.blogspot.com/search/label/Configuration

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建连接文件的最佳实践 的相关文章

随机推荐