簡體   English   中英

創建連接文件的最佳實踐

[英]Best practices to create connection files

我有一個應用程序,其中有一些用於緩存、隊列和數據庫的配置文件。

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

這就是我為配置文件所做的,我也有一些 inheritance 層次結構。

您使用什么來處理配置以及為此目的的一些最佳實踐是什么?

我喜歡並廣泛使用 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 並且您可以更改您的實現而無需更改用法。 有時我只是在開發過程中從硬編碼的 class 開始,只有在我實際上需要在不同環境中具有不同值時才將其更改為配置部分。

如果您使用的是配置部分,則還依賴於 ConfigurationManager。 我通過使用 IConfigurationProvider[T] 從我的代碼中隱藏了這一點,其中 T 是 IServerConfiguration,您可以在我的博客上的配置無知下看到一個示例。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM