ASP.NET Core 读取配置文件是一种非常常见的操作,可以用于配置应用程序的行为。以下是 ASP.NET Core 基础之读取配置文件的完整攻略:
步骤一:创建 ASP.NET Core 应用程序
首先,需要一个 ASP.NET Core 应用程序。可以使用以下命令在 Visual Studio 中创建一个 ASP.NET Core 应用程序:
- 打开 Visual Studio,选择“新建项目”。
- 选择“ASP.NET Core Web 应用程序”模板。
- 选择“Web 应用程序”模板。
- 点击“创建”。
步骤二:添加配置文件
接下来,需要添加一个配置文件。可以使用以下命令在应用程序的根目录中创建一个名为 appsettings.json 的配置文件:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MyConfig": {
"ConnectionString": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
}
}
在上面的示例中,我们创建了一个名为 MyConfig 的配置节,并添加了一个名为 ConnectionString 的配置项。
步骤三:读取配置文件
下来,需要读取配置文件。可以使用以下代码读取配置文件:
using Microsoft.Extensions.Configuration;
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
IConfigurationRoot configuration = builder.Build();
string connectionString = configuration.GetSection("MyConfig")["ConnectionString"];
在上面的代码中,我们使用 ConfigurationBuilder 类创建一个配置构建器,并使用 SetBasePath 方法设置配置文件的基本路径。然后,我们使用 AddJsonFile 方法添加 appsettings.json 配置文件,并使用 Build 方法构建 IConfigurationRoot 对象。最后,我们使用 GetSection 方法获取 MyConfig 配置节,并使用索引器获取 ConnectionString 配置项的值。
示例一:使用 IConfiguration 注入配置
以下是一个示例,演示如何使用 IConfiguration 注入配置:
- 在“Startup.cs”中添加以下代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.Configure<MyConfig>(Configuration.GetSection("MyConfig"));
}
在上面的示例中,我们在 ConfigureServices 方法中使用 AddControllers 方法添加控制器,并使用 Configure 方法注入 MyConfig 配置节。
- 在“Controllers”文件夹中创建一个名为“HomeController.cs”的类。
- 在“HomeController.cs”中添加以下代码:
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace WebApplication1.Controllers
{
public class HomeController : Controller
{
private readonly MyConfig _myConfig;
public HomeController(IOptions<MyConfig> myConfig)
{
_myConfig = myConfig.Value;
}
public IActionResult Index()
{
string connectionString = _myConfig.ConnectionString;
return View();
}
}
}
在上面的示例中,我们创建了一个名为 HomeController 的控制器,并注入了 MyConfig 配置节。在 Index 方法中,我们获取 ConnectionString 配置项的值,并返回一个视图。
示例二:使用强类型配置
以下是一个示例,演示如何使用强类型配置:
- 在“Models”文件夹中创建一个名为“MyConfig.cs”的类。
- 在“MyConfig.cs”中添加以下代码:
public class MyConfig
{
public string ConnectionString { get; set; }
}
在上面的示例中,我们创建了一个名为 MyConfig 的强类型配置类,并添加了一个名为 ConnectionString 的属性。
- 在“Startup.cs”中添加以下代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.Configure<MyConfig>(Configuration.GetSection("MyConfig"));
}
在上面的示例中,我们在 ConfigureServices 方法中使用 AddControllers 方法添加控制器,并使用 Configure 方法注入 MyConfig 配置节。
- 在“Controllers”文件夹中创建一个名为“HomeController.cs”的类。
- 在“HomeController.cs”中添加以下代码:
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace WebApplication1.Controllers
{
public class HomeController : Controller
{
private readonly MyConfig _myConfig;
public HomeController(IOptions<MyConfig> myConfig)
{
_myConfig = myConfig.Value;
}
public IActionResult Index()
{
string connectionString = _myConfig.ConnectionString;
return View();
}
}
}
在上面的示例中,我们创建了一个名为 HomeController 的控制器,并注入了 MyConfig 配置节。在 Index 方法中,我们获取 ConnectionString 属性的值,并返回一个视图。
总结
ASP.NET Core 读取配置文件是一种非常常见的操作,可以用于配置应用程序的行为。通过创建一个配置文件,并使用 IConfiguration 接口或强类型配置类读取配置文件,可以轻松地读取配置文件中的配置项。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET Core读取配置文件 - Python技术站