C# 将整个 appSettings 文件绑定到 class
C# bind whole appSettings file to class
在 C# 中,我们可以将 appSettings 中的一些设置绑定到 class,例如:
var connectionStrings = new ConnectionStrings();
var sectionConnectionString = Configuration.GetSection("ConnectionStrings");
在 appsettings 中如下所示:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
当我想绑定 Logging 时,我需要调用另一个绑定:
Configuration.GetSection("Logging");
如何绑定整个应用程序设置文件? GetSection
空字符串不起作用:
Configuration.GetSection("");
您的配置需要 Class,之后您可以使用它(您不需要映射每个设置,只需映射您需要的设置):
var configObject = Configuration.Get<ConfigObject>();
示例配置对象:
public class ConfigObject {
public Logging Logging { get; set; }
public string AllowedHosts { get; set; }
public ConnectionStrings ConnectionStrings { get; set; }
}
public class Logging {
public LogLevel LogLevel { get; set; }
}
public class LogLevel {
public string Default { get; set; }
}
public class ConnectionStrings {
public string ConnString1 { get; set; }
}
提示:
如果你不使用 aspnetcore,你可能还需要包含这个 NuGet 包:Microsoft.Extensions.Configuration.Binder
您可以按原样使用配置实例。
您可以将设置绑定到 class:
var appSettings = Configuration.Get<AppSettings>();
或者您可以使用选项模式注入设置
services.Configure<AppSettings>(Configuration);
在 C# 中,我们可以将 appSettings 中的一些设置绑定到 class,例如:
var connectionStrings = new ConnectionStrings();
var sectionConnectionString = Configuration.GetSection("ConnectionStrings");
在 appsettings 中如下所示:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
当我想绑定 Logging 时,我需要调用另一个绑定:
Configuration.GetSection("Logging");
如何绑定整个应用程序设置文件? GetSection
空字符串不起作用:
Configuration.GetSection("");
您的配置需要 Class,之后您可以使用它(您不需要映射每个设置,只需映射您需要的设置):
var configObject = Configuration.Get<ConfigObject>();
示例配置对象:
public class ConfigObject {
public Logging Logging { get; set; }
public string AllowedHosts { get; set; }
public ConnectionStrings ConnectionStrings { get; set; }
}
public class Logging {
public LogLevel LogLevel { get; set; }
}
public class LogLevel {
public string Default { get; set; }
}
public class ConnectionStrings {
public string ConnString1 { get; set; }
}
提示:
如果你不使用 aspnetcore,你可能还需要包含这个 NuGet 包:Microsoft.Extensions.Configuration.Binder
您可以按原样使用配置实例。
您可以将设置绑定到 class:
var appSettings = Configuration.Get<AppSettings>();
或者您可以使用选项模式注入设置
services.Configure<AppSettings>(Configuration);