ASP.NET Core中的Configuration配置二
在ASP.NET Core中,读取配置文件是非常常见的操作。本攻略提供详细的步骤和示例说明,演示如何在ASP.NET Core应用程序中读取配置文件。
步骤
步骤1:创建一个新的ASP.NET Core应用程序
首先,需要创建一个新的ASP.NET Core应用程序。可以使用以下命令在命令行中创建新的ASP.NET Core应用程序:
dotnet new webapp -n MyWebApp
在上面的命令中,使用 dotnet new
命令创建一个新的ASP.NET Core应用程序。使用 -n
参数指定项目的名称为 MyWebApp
。
步骤2:安装Microsoft.Extensions.Configuration包
接下来,需要安装Microsoft.Extensions.Configuration。可以使用以下命令在命令行中安装Microsoft.Extensions.Configuration包:
dotnet add package Microsoft.Extensions.Configuration
在上面的命令中,使用 dotnet add package
命令安装Microsoft.Extensions.Configuration包。
步骤3:添加配置文件
现在,需要添加配置文件。可以在项目根目录下创建一个名为 appsettings.json
的文件,并添加以下内容:
{
"MySetting": "Hello World!"
}
在上面的代码中,定义了一个名为 MySetting
的配置项,并将其值设置为 Hello World!
。
步骤4:读取配置文件
现在,可以在应用程序中读取配置文件。可以在 Program.cs
文件中添加以下代码:
using Microsoft.Extensions.Configuration;
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
var mySetting = config.GetValue<string>("MySetting");
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
在上面的代码中,我们使用 ConfigurationBuilder
类来读取配置文件。我们使用 AddJsonFile
方法来添加配置文件,并使用 Build
方法来构建配置对象。我们使用 IConfiguration.GetValue
方法来获取配置项的值。
步骤5:使用配置文件
现在,可以在应用程序中使用配置文件。可以在 Startup.cs
文件中添加以下代码:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
var mySetting = Configuration.GetValue<string>("MySetting");
}
}
在上面的代码中,我们在 Startup
类的构造函数中注入了 IConfiguration
接口,并在 Configure
方法中使用了它。我们使用 IConfiguration.GetValue
方法来获取配置项的值。
示例说明
以下是两个示例说明,演示如何在ASP.NET Core应用程序中取配置文件。
示例1:读取字符串配置项
以下是读取字符串配置项的步骤:
- 创建一个新的ASP.NET Core应用程序。
dotnet new webapp -n MyWebApp
在上面的命令中,使用 dotnet new
命令创建一个新的ASP.NET Core应用程序。使用 -n
参数指定项目的名称为 MyWebApp
。
- 安装Microsoft.Extensions.Configuration包。
使用以下命令在命令行中安装Microsoft.Extensions.Configuration包:
dotnet add package Microsoft.Extensions.Configuration
在上面的命令中,使用 dotnet add package
命令安装Microsoft.Extensions.Configuration包。
- 添加配置文件。
在项目根目录下创建一个名为 appsettings.json
的文件,并添加以下内容:
{
"MySetting": "Hello World!"
}
在上面的代码中,我们定义了一个名为 MySetting
的配置项,并将其值设置为 Hello World!
。
- 读取配置文件。
在 Program.cs
文件中添加以下代码:
using Microsoft.Extensions.Configuration;
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
var mySetting = config.GetValue<string>("MySetting");
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
在上面的代码中,我们使用 ConfigurationBuilder
类来读取配置文件。我们使用 AddJsonFile
方法来添加配置文件,并使用 Build
方法来构建配置对象。我们使用 IConfiguration.GetValue
方法来获取配置项的值。
- 使用配置文件。
在 Startup.cs
文件中添加以下代码:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
var mySetting = Configuration.GetValue<string>("MySetting");
}
}
在上面的代码中,我们在 Startup
类的构造函数中注入了 IConfiguration
接口,并在 Configure
方法中使用了它。我们使用 IConfiguration.GetValue
方法来获取配置项的值。
示例2:读取整数配置项
以下是读取整数配置项的步骤:
- 创建一个新的ASP.NET Core应用程序。
dotnet new webapp -n MyWebApp
在上面的命令中,使用 dotnet new
命令创建一个新的ASP.NET Core应用程序。使用 -n
参数指定项目的名称为 MyWebApp
。
- 安装Microsoft.Extensions.Configuration包。
使用以下命令在命令行中安装Microsoft.Extensions.Configuration包:
dotnet add package Microsoft.Extensions.Configuration
在上面的命令中,使用 dotnet add package
命令安装Microsoft.Extensions.Configuration包。
- 添加配置文件。
在项目根目录下创建一个名为 appsettings.json
的文件,并添加以下内容:
{
"MySetting": 42
}
在上面的代码中,我们定义了一个名为 MySetting
的配置项,并将其值设置为 42
。
- 读取配置文件。
在 Program.cs
文件中添加以下代码:
using Microsoft.Extensions.Configuration;
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
var mySetting = config.GetValue<int>("MySetting");
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
在上面的代码中,我们使用 ConfigurationBuilder
类来读取配置文件。我们使用 AddJsonFile
方法来添加配置文件,并使用 Build
方法来构建配置对象。我们使用 IConfiguration.GetValue
方法来获取配置项的值。
- 使用配置文件。
在 Startup.cs
文件中添加以下代码:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
var mySetting = Configuration.GetValue<int>("MySetting");
}
}
在上面的代码中,我们在 Startup
类的构造函数中注入了 IConfiguration
接口,并在 Configure
方法中使用了它。我们使用 IConfiguration.GetValue
方法来获取配置项的值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET Core中的Configuration配置二 - Python技术站