创建连接文件的最佳实践

本文关键字:最佳 连接 文件 创建 | 更新日期: 2023-09-27 18:02:20

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

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

这就是我对配置文件所做的,我也有一些继承层次。

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

创建连接文件的最佳实践

我喜欢并广泛使用微软配置库,但我尽量确保我的应用程序不依赖于它。这通常涉及到让我的配置部分实现一个接口,所以您的示例看起来像:

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。我通过使用iconfigationprovider [T]将其隐藏在我的代码中,其中T将是IServerConfiguration,您可以在我的博客配置无知下看到这个例子。

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