📌  相关文章
📜  c# 控制台应用程序中的 appsettings (1)

📅  最后修改于: 2023-12-03 15:29:47.705000             🧑  作者: Mango

C# 控制台应用程序中的 AppSettings

在 C# 控制台应用程序中,我们经常需要读取某些配置信息,例如数据库连接字符串、API 地址等等。为了方便起见,在 App.config 或 Web.config 文件中定义了一些配置项,我们可以使用 AppSettings 来获取其中的配置项值。

获取 AppSettings 中的配置项值

在 App.config 或 Web.config 文件中,我们可以通过 appSettings 标签来定义一些配置项。例如:

<appSettings>
  <add key="ConnectionString" value="Server=localhost;Database=myDatabase;User Id=myUsername;Password=myPassword;"/>
  <add key="ApiUrl" value="https://api.example.com/"/>
  <add key="ApiKey" value="myApiKey"/>
</appSettings>

在 C# 代码中,我们可以使用 ConfigurationManager.AppSettings 属性来获取配置项的值。例如:

using System;
using System.Configuration;

class Program
{
    static void Main(string[] args)
    {
        // 获取 ConnectionString 配置项的值
        string connectionString = ConfigurationManager.AppSettings["ConnectionString"];
        Console.WriteLine($"连接字符串:{connectionString}");

        // 获取 ApiUrl 配置项的值
        string apiUrl = ConfigurationManager.AppSettings["ApiUrl"];
        Console.WriteLine($"API 地址:{apiUrl}");

        // 获取 ApiKey 配置项的值
        string apiKey = ConfigurationManager.AppSettings["ApiKey"];
        Console.WriteLine($"API 密钥:{apiKey}");
    }
}

运行上面的代码,输出如下:

连接字符串:Server=localhost;Database=myDatabase;User Id=myUsername;Password=myPassword;
API 地址:https://api.example.com/
API 密钥:myApiKey
注意事项
  • ConfigurationManager.AppSettings 返回的是一个 NameValueCollection 类型的对象,可以使用索引器([])来获取配置项的值。
  • 如果指定的配置项不存在,将返回 null
  • 在多线程环境下,读取配置项时需要注意同步问题。
  • 程序运行期间,如果修改了配置文件(例如 App.config 或 Web.config),需要重启程序才能生效。