1.引用Microsoft.Extensions.Configuration
2.在Startup中注入服务
public static IConfiguration Configuration { get; private set; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
//添加服务
services.AddUrlResolve(Configuration);
}
扩展方法AddUrlResolve如下
/// <summary>
/// 拓展方法
/// </summary>
public static class Extensions
{
/// <summary>
/// 为了保留IConfiguration
/// </summary>
/// <param name="services"></param>
/// <param name="config"></param>
public static void AddUrlResolve(this IServiceCollection services, IConfiguration config)
{
services.Add(new ServiceDescriptor(typeof(UrlResolveService), typeof(UrlResolveService), ServiceLifetime.Singleton));
//读取配置文件
UrlResolveService.ApiUrl = config["ApiUrl"];
UrlResolveService.AuthorityUrl = config["AuthorityUrl"];
}
}
/// <summary>
/// 读取配置文件的服务
/// </summary>
public class UrlResolveService
{
public static string AuthorityUrl { get; set; }
public static string ApiUrl { get; set; }
public string GetAuthorityUrl()
{
return AuthorityUrl;
}
public string GetApiUrl()
{
return ApiUrl;
}
}
3.使用UrlResolveService服务
public async Task<IActionResult> Call(UrlResolveService urlResolveService)
{
//API对应网址
var apiUrl = urlResolveService.GetApiUrl();
//......
}
4.配置文件
{
//授权网址
"AuthorityUrl": "http://localhost:5000/",
//API网址
"ApiUrl": "http://localhost:5001/",
}