gpt4 book ai didi

c# - 创建连接文件的最佳实践

转载 作者:行者123 更新时间:2023-11-30 12:15:46 25 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

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

关于c# - 创建连接文件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6734679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com