📜  .net 使用 appsettings 变量 - C# (1)

📅  最后修改于: 2023-12-03 14:38:46.794000             🧑  作者: Mango

.NET使用appsettings变量 - C#

在.NET开发中,我们经常需要在应用程序中存储和访问常量和配置值。这些常量和配置值可能涉及数据库连接字符串,API密钥,端口等等。如果应用程序的代码中充满着硬编码的值,那将非常难以管理和维护。为了解决这个问题,我们可以使用appsettings变量。

什么是appsettings变量?

appsettings变量是在appsettings.json文件中定义的变量。在.NET应用程序中,这个文件通常包含应用程序的常量和配置值。这个文件通常位于应用程序的根目录下。通过在appsettings文件中定义变量,我们可以轻松地从应用程序中分离出这些常量和配置值。

如何在.NET应用程序中使用appsettings变量?

在.NET应用程序中,我们可以使用IConfiguration接口来读取appsettings文件中的值。这个接口在Microsoft.Extensions.Configuration命名空间中定义。以下是在C#中使用IConfiguration读取appsettings变量的示例:

using Microsoft.Extensions.Configuration; // 引用命名空间

IConfiguration config = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json", optional: true)
    .Build();

string connectionString = config.GetConnectionString("DefaultConnection");

在这个示例中,我们创建了一个ConfigurationBuilder实例来读取appsettings.json文件的内容。然后,我们通过调用SetBasePath和AddJsonFile方法告诉配置构建器在哪里查找appsettings.json文件。接下来,我们调用Build方法来构建IConfiguration实例。

最后,我们使用GetConnectionString方法从IConfiguration实例中获取DefaultConnection的连接字符串。

如何定义appsettings变量?

在appsettings.json文件中定义appsettings变量非常容易。以下是一个示例:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
      "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "ApiKeys": {
      "GoogleMaps": "my-google-maps-api-key"
  }
}

在这个示例中,我们定义了三个变量:DefaultConnection、GoogleMaps和AllowedHosts。

注意:appsettings.json文件的键名和值都必须用双引号包含。

总结

在.NET应用程序中使用appsettings变量是一种很好的方法,可以轻松地管理应用程序的常量和配置值。我们可以使用IConfiguration接口来读取appsettings文件中的变量。定义appsettings变量非常容易,只需要在appsettings.json文件中添加一个键值对就可以了。