.NetCore库类项⽬跨项⽬读取配置⽂件
敲边鼓造句在项⽬开始之前我们可以先去了解⼀下IConfiguration接⼝,.Net Core Web应⽤程序类似于⼀个控制台,当程序运⾏到Startup时会⾃动注⼊IConfiguration,默认读取离婚官司
当前.Net Core Web应⽤程序中的appsettings.json⽂件。读取当前.Net Core Web应⽤程序的配置⽂件可以⾃动直接注⼊,但如果我们需要使另⼀个类库项⽬读取到指
定.Net Core Web应⽤程序中的配置⽂件,需要怎么做?凭借Asp.Net Core⽆处不在的“依赖注⼊”,我们可以在Startup执⾏时将读取的配置信息注⼊到类库项⽬中,之
后我们可以愉快的使⽤配置信息了
新建⼀个.Net Core的类库项⽬和.Net Core Web应⽤程序,修改Web应⽤程序中的appsettings.json⽂件加⼊数据库连接字符串⽤于之后的试验。
{
"WebConfig": {
"OracleConnectionString": "User Id=fjh;Password=fjh_123;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl)));Pooling = T },
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
.Net Core的类库项⽬中新建⼀个静态类:ConfigurationHelper.cs
使⽤IConfiguration接⼝需要添加依赖项:Microsoft.Extensions.Configuration
using Microsoft.Extensions.Configuration;
namespace Read_Configuration_File
{
public class ConfigurationHelper
{
private static IConfiguration _config;
public static void Configure(IConfiguration config)
{
_config = config;
}
/
//<summary>
///根据配置⽂件键读取对应的值
///</summary>
///<param name="Key"></param>
///<returns></returns>
public static string GetConfigValueByKey(string Key)
{
var value = _config[Key];
梦到鞋丢了return value;
}
}
}
创建⼀个静态字段_config⽤来存储配置信息,同时定义⼀个静态⽅式通过配置⽂件的键值获取对应的值。
.Net Core的类库项⽬中新建⼀个静态类:Utilconfig.cs
创建⼀个只读静态字段OracleConnectionString存储根据键值获得的配置⽂件的值
namespace Read_Configuration_File
{
public static class UtilConfig
{
public static string OracleConnectionString => ConfigurationHelper.GetConfigValueByKey("WebConfig:OracleConnectionString") == null ? "" : string.Format(ConfigurationHelper.GetConfigValueByKey("WebConfig:OracleConnectionString
}
}
最关键的⼀步,修改.Net Core Web应⽤程序中的Startup.cs
我们需要将配置信息注⼊到类库项⽬,需要使⽤ConfiurationHelper类下的静态⽅法。在创建的.Net Core Web应⽤程序的Startup⽂件中调⽤Configure⽅法,使⽤前不要忘了先
引⽤类库项⽬
到这⾥为⽌,我们可以调⽤静态类UtilConfig中的静态只读字段OracleConnectionString愉快的使⽤.Net Core Web应⽤程序的配置信息。接下来我们来验证⼀下项⽬是否成功
在.Net Core库类项⽬中新建⼀个类:ConnectionRead
创建⼀个静态⽅法GetConnectionStr()返回获取到的配置⽂件信息
namespace Read_Configuration_File
{
public class ConnectionRead
{
///<summary>
///定义⼀个静态⽅法获取连接字符串
///</summary>
///<returns></returns>
public static string GetConnectionStr()豪华品牌汽车
{
var connStr = UtilConfig.OracleConnectionString;
return connStr;
}
}
qq总是自动关闭}
项⽬结构
先富带动后富在.Net Core Web项⽬中的HomeController主页中调⽤这个静态⽅法,如果能正确读取到配置⽂件的值,那项⽬就成功了
修改⼀下主页
执⾏⽂件我们可以发现主页上显⽰了我们想要读取的数据库连接的配置信息。Nice!成功
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论