.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;

}

 

posted @ 2020-07-23 14:39  tianfeng.cc  阅读(508)  评论(1编辑  收藏  举报