.net core options 依赖注入的方式
options 依赖注入的方式
public class JwtSettingsOptions { public const string JwtSettings = "JwtSettings"; /// <summary> /// 发行人 /// </summary> public string Issuer { get; set; } /// <summary> /// 订阅者 /// </summary> public string Audience { get; set; } /// <summary> /// 加密key /// </summary> public string SecurityKey { get; set; } /// <summary> /// 过期分钟 /// </summary> public int ExpMinutes { get; set; } }
方法1
services.AddOptions<JwtSettingsOptions>().Bind(Configuration.GetSection(JwtSettingsOptions.JwtSettings));
方法2
var jwtSettingsOptions = new JwtSettingsOptions(); Configuration.GetSection(JwtSettingsOptions.JwtSettings).Bind(positionOptions);
方法3
//使用 ConfigurationBinder.Get 可能比使用 ConfigurationBinder.Bind 更方便。
var jwtSettingsOptions = new JwtSettingsOptions(); jwtSettingsOptions = Configuration.GetSection(JwtSettingsOptions.JwtSettings).Get<JwtSettingsOptions>();
appsettings.json
{ "JwtSettings": { "SecurityKey": "BB3647441FF3333A4B5D344B4E64A29B53CE525", "Audience": "autience", "Issuer": "isuser", "ExpMinutes": 120 } }
通过构造函数获取实例
private IOptions<JwtSettingsOptions> _options;
public HomeController( IOptions<JwtSettingsOptions> options)
{
_options = options;
JwtSettingsOptions jwtSetting =_options.Value;
}