Appearance
配置注入
在项目中,需要读取配置时,可以用到AsDI.Core.Config,AsDI.Core.Config可通过NuGet进行安装
sh
dotnet add package AsDI.Core --version 2.0.0
dotnet add package AsDI.Core.Config --version 2.0.0配置通常写在AppSettings.json文件中,也可能会配置在Nacos等配置中心。在AsDI中使用配置,可以通过 [value] 标注去获取配置信息。
基本示例
例如,有这样一份配置:
json
{
"AsDI": {
"ConnectionString": "data source=10.130.1.120; user name=root; password=root;"
}
}读取配置时,只需要写如下代码即可:
C#
[Include]
public class Program
{
[Value("AsDI.ConnectionString")]
private static string connectionStr;
static void Main(string[] args)
{
AsDIContext.Start();
Console.WriteLine(connectionStr);
}
}此时,运行此程序,将会输出:
sh
> data source=10.130.1.120; user name=root; password=root;读取配置为对象
配置如下:
json
{
"AsDI": {
"DbConfig": {
"DbType": "Sql Server",
"ConnectionString": "data source=10.130.1.120; user name=root; password=root;",
"AutoCommit": true,
"ReceiveTimeout": 5000
}
}
}读取配置,如下:
C#
public class DbConfig
{
public string DbType { get; set; }
public string ConnectionString { get; set; }
public bool AutoCommit { get; set; }
public int ReceiveTimeout { get; set; }
public override string ToString()
{
return "DbType:" + DbType + "\n" +
"ConnectionString:" + ConnectionString + "\n" +
"AutoCommit:" + AutoCommit + "\n" +
"ReceiveTimeout:" + ReceiveTimeout;
}
}
[Include]
public class Program
{
[Value("AsDI.DbConfig")]
private static DbConfig dbConfig;
static void Main(string[] args)
{
AsDIContext.Start();
Console.WriteLine(dbConfig);
}
}此时,运行此程序,将会输出:
sh
> DbType:Sql Server
> ConnectionString:data source=10.130.1.120; user name=root; password=root;
> AutoCommit:True
> ReceiveTimeout:5000