版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaouncle/article/details/83108556
在.net core中默认是没有*.config 文件的配置文件都是*.json
一、NuGet包管理器引用或者在project.json写入下面这些包
"Microsoft.Extensions.Options.ConfigurationExtensions": "2.1.1",
"Microsoft.Extensions.Configuration.Json": "2.1.1"
二、修改 appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"MyOwn": {
"Name": "wula",
"Age": 12
}
}
三、在Models文件夹中新建一个MyOwnModel类来对应配置信息
public class MyOwnModel
{
public string Name { get; set; }
public string Age { get; set; }
}
四、配置Startup.cs
首先用AddOptions() 初始化注入IOptions<T>,然后Configure<MyOwnModel>则是自动初始化MyOwnModel实例并且映射appSettings里的配置
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
//初始化MyOwnModel实例并且映射appSettings里的配置
services.AddOptions();
services.Configure<MyOwnModel>(Configuration.GetSection("MyOwn"));
}
五、在Controller中使用
public class TestController : Controller
{
private IOptions<MyOwnModel> settings;
public TestController(IOptions<MyOwnModel> settings)
{
this.settings = settings;
}
public IActionResult Test()
{
ViewData["Name"] = this.settings.Value.Name;
ViewData["Age"] = this.settings.Value.Age;
return View();
}
}