asp .net

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/",
}

控制台(console)

1.引用

Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.FileExtensionsMicrosoft.Extensions.Configuration.Json

2.创建appsettings.json

{  "YourKey": "YourValue",
}

并设置为生成时复制到输出目录
3.关键代码

var builder = new ConfigurationBuilder()			//保证执行文件下有json文件
			.SetBasePath(Directory.GetCurrentDirectory())
			.AddJsonFile("appsettings.json");IConfiguration config = new ConfigurationBuilder()
	.AddJsonFile("appsettings.json", true, true)
	.Build();var yourValue = config["YourKey"];