将 .settings 添加到 .NET Core 项目
Adding .settings to .NET Core project
是否可以将 .settings 文件添加到 Visual Studio 中的 .NET Core 项目?如果没有,使用 .NET Core 实现此目的的 equivalent/alternative 方法是什么?
您可以将 appsettings
文件中的强类型值添加到 IOC 容器中:
appsettings.json
{
// ...other stuff...
"MyConfiguration": {
"ValueOne": "Some value",
"ValueTwo": "2"
}
}
MyConfiguration.cs
public class MyConfiguration
{
public string ValueOne { get; set; }
public int ValueTwo { get; set; }
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddOptions();
services.Configure<MyConfiguration>(Configuration.GetSection("MyConfiguration"));
}
然后您可以通过请求 IOptions<MyConfiguration>
来获取它们,如下所示:
public class HomeController : Controller
{
public HomeController(IOptions<MyConfiguration> config)
{
var someValue = config.Value.ValueOne; // "Some value"
}
}
是否可以将 .settings 文件添加到 Visual Studio 中的 .NET Core 项目?如果没有,使用 .NET Core 实现此目的的 equivalent/alternative 方法是什么?
您可以将 appsettings
文件中的强类型值添加到 IOC 容器中:
appsettings.json
{
// ...other stuff...
"MyConfiguration": {
"ValueOne": "Some value",
"ValueTwo": "2"
}
}
MyConfiguration.cs
public class MyConfiguration
{
public string ValueOne { get; set; }
public int ValueTwo { get; set; }
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddOptions();
services.Configure<MyConfiguration>(Configuration.GetSection("MyConfiguration"));
}
然后您可以通过请求 IOptions<MyConfiguration>
来获取它们,如下所示:
public class HomeController : Controller
{
public HomeController(IOptions<MyConfiguration> config)
{
var someValue = config.Value.ValueOne; // "Some value"
}
}