【发布时间】:2017-10-17 15:19:51
【问题描述】:
我在类库中搜索访问 appsettings.json 的解决方案。我有一个依赖于类库的 ASP.NET Core Web 应用程序。在这个类库中,我必须从 appsettings.json 中读取一些属性。
有什么办法吗?
【问题讨论】:
标签: asp.net-core-mvc .net-core
我在类库中搜索访问 appsettings.json 的解决方案。我有一个依赖于类库的 ASP.NET Core Web 应用程序。在这个类库中,我必须从 appsettings.json 中读取一些属性。
有什么办法吗?
【问题讨论】:
标签: asp.net-core-mvc .net-core
你应该使用选项
使用起来相当简单。检查这篇文章。很好解释Src
1/ 创建你的 Options 类
namespace UsingOptions.Models
{
public class MyOptions
{
public MyOptions()
{
// Set default value.
Option1 = "value1_from_ctor";
}
public string Option1 { get; set; }
public int Option2 { get; set; } = 5;
}
}
2/ 在 ConfigureServices 方法中配置(在 startup.cs 中)
public void ConfigureServices(IServiceCollection services)
{
// Adds services required for using options.
services.AddOptions();
// Register the IConfiguration instance which MyOptions binds against.
**services.Configure<MyOptions>(Configuration);**
// Add framework services.
services.AddMvc();
}
3/ 将 IOptions 注入你的控制器
public class HomeController : Controller
{
private readonly MyOptions _options;
public HomeController(IOptions<MyOptions> optionsAccessor)
{
_options = optionsAccessor.Value;
}
public IActionResult Index()
{
var option1 = _options.Option1;
var option2 = _options.Option2;
return Content($"option1 = {option1}, option2 = {option2}");
}
}
【讨论】: