最近用Identity4因此須要作一個配置項項目json
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "Indentity": {"Center": "",//這部分就是要取的 "ApiCenter": "" } }
首先咱們要從 Indentity中 獲取center當中的數據app
這部分比較簡單隻要在startup 中的ConfigureServices 獲取 Indentity下的Centeride
this.Configuration["Indentity:Center"]
就這麼一句話就能夠獲取到了ui
1.建立一個modelthis
public class IndentitySettingModel { public string Center { get; set; } public string ApiCenter { get; set; } }
2.在startup中注入到管道當中spa
services.Configure<Utility.HelperModel.IndentitySettingModel>(this.Configuration.GetSection("Indentity"));
兄弟。這樣就注入到管道當中了。接下來咱們就能夠去controller中獲取 了code
/// <summary> /// 獲取AccessToken /// </summary> /// <returns></returns> public string GetAccessToken(IOptions<IndentitySettingModel> settings) { return settings.Center; }
恩很 就是這樣 就能夠獲取的到了。blog
剛纔有幾個朋友和我說 。我乾的很漂亮純屬糊弄人的文章。get
好的。 我從新寫一下吧。string
我把全部須要引用DLL 給你們貼圖吧。太多了。
算了,仍是打出來吧。
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Abstractions
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Options
Microsoft.Extensions.Options.ConfigurationExtensions
把這些 nuget引用
public class ConfigurationUtil { public static readonly IConfiguration Configuration; static ConfigurationUtil() { Configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", true) .Build(); } public static T GetSection<T>(string key) where T : class, new() { var obj = new ServiceCollection() .AddOptions() .Configure<T>(Configuration.GetSection(key)) .BuildServiceProvider() .GetService<IOptions<T>>() .Value; return obj; } public static string GetSection(string key) { return Configuration.GetValue<string>(key); } }
調用方法
ConfigurationUtil.GetSection("MongoDb:ConnectionString")
每天讓我寫。每天沒人點贊!
建立了一個QQ羣但願有志之士能夠加一下
點擊連接加入羣聊【.Net Core研究團】:https://jq.qq.com/?_wv=1027&k=5298dNv