.netcore的配置IConfiguration和IOptions的使用


一,appsettings.json配置添加如下

  "MyOptions": {
    "Id": 2,
    "Name": "appsettings"
  }

二,使用IConfiguration讀取配置,如下控制器代碼

namespace TestCore.Controllers
{
    [ApiController]
    [Route("[controller]/[action]")]
    public class ConfigTestController : ControllerBase
    {
        private IConfiguration _configuration;
        public ConfigTestController( IConfiguration configuration)
        {
            _configuration = configuration;
        }
        public string GetConfiguration()
        {
            return "-configuration獲取:" + _configuration.GetSection("MyOptions").GetValue<string>("Name");
        }
    }
}

ps:測試代碼沒有更改Program默認配置文件所以默認讀的是appsettings.json配置文件

二,IOptions的使用

namespace TestCore.Controllers
{
    [ApiController]
    [Route("[controller]/[action]")]
    public class ConfigTestController : ControllerBase
    {
        private TestModel _options;
        public ConfigTestController(IOptions<TestModel> options)
        {
            _options = options.Value;
        }
        public string GetIOptions()
        {
            return "IOptions獲取:" + _options.Name;
        }
    }
}

Startup的ConfigureServices有兩種寫法,第一是讀取配置文件,第二是自己給實體賦值

        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<TestModel>(Configuration.GetSection("MyOptions"));    //獲取默認配置文件的值
            //services.Configure<TestModel>(m=> { m.Name = "startup讀取";m.Id = 1; });  //獲取自己實例的配置
            services.AddControllers();
        }

綜上所有配置的使用方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM