修改appsetting
最近用Identity4所以需要做一个配置项项目
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"Indentity": {"Center": "",//这部分就是要取的
"ApiCenter": ""
}
}
在startup中获取
首先我们要从 Indentity中 获取center当中的数据
这部分比较简单只要在startup 中的ConfigureServices 获取 Indentity下的Center
this.Configuration["Indentity:Center"]
就这么一句话就可以获取到了
将内容注入到管道中
1.创建一个model
public class IndentitySettingModel
{
public string Center { get; set; }
public string ApiCenter { get; set; }
}
2.在startup中注入到管道当中
services.Configure<Utility.HelperModel.IndentitySettingModel>(this.Configuration.GetSection("Indentity"));
兄弟。这样就注入到管道当中了。接下来我们就可以去controller中获取 了
在controller中获取
/// <summary>
/// 获取AccessToken
/// </summary>
/// <returns></returns>
public string GetAccessToken(IOptions<IndentitySettingModel> settings)
{
return settings.Center;
}
恩很 就是这样 就可以获取的到了。
最详细的config引用
刚才有几个朋友和我说 。我干的很漂亮纯属糊弄人的文章。
好的。 我重新写一下吧。
我把所有需要引用DLL 给大家贴图吧。太多了。
算了,还是打出来吧。
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Abstractions
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Options
Microsoft.Extensions.Options.ConfigurationExtensions
把这些 nuget引用
编写Help类
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
来源:https://www.cnblogs.com/Extnet/p/9755006.html |