【发布时间】:2018-05-25 18:31:34
【问题描述】:
我尝试从 appsettings.json 获取我的部分,然后将其绑定到 MongoSettings 类的实例,但我有一个例外:
“无法创建'System.String'类型的实例,因为它丢失了 一个公共的无参数构造函数。”
很奇怪,因为我是用同样的方法来获取jwt设置的。
请看一下:
var jwtSettings = Configuration.GetSection("jwt").Get<JwtSettings>(); //it works
var mongoSettings = Configuration.GetSection("mongo").Get<MongoSettings>(); //it doesn't
appsettings.json
"Jwt": {
"issuer" : "localhost:5000",
"expiryMinutes" : 60,
"key" : "das#@4SD120847@12313"
},
"Mongo": {
"connection:" : "mongodb://localhost:27017",
"database" : "MemoTime"
}
Mongo 设置:
public class MongoSettings
{
public string Connection { get; set; }
public string Database { get; set; }
}
Jwt设置:
public class JwtSettings
{
public string Key { get; set; }
public string ValidIssuer { get; set; }
public int ExpiryMinutes { get; set; }
}
如您所见,应用设置中的类和部分看起来相似,那么为什么获取 mongo 的设置不起作用?
【问题讨论】:
-
"issuer" : "localhost:5000",public string ValidIssuer { get; set; }? -
哦...你说得对,我错过了。但其余属性已正确绑定
-
:不能存在于键名中的任何位置。
标签: c# json asp.net-core