2017-09-26 42 views
0

我有以下设置:配置绑定不起作用

{ 
    "AppSettings": { 
    "ConnectionString": "mongodb://localhost:27017", 
    "Database": "local", 
    "ValidOrigins": [ "http://localhost:61229" ] 
    }, 
    "Logging": { 
    "IncludeScopes": false, 
    "Debug": { 
     "LogLevel": { 
     "Default": "Warning" 
     } 
    }, 
    "Console": { 
     "LogLevel": { 
     "Default": "Warning" 
     } 
    } 
    } 
} 

我绑定:

services.Configure<AppSettings>(Configuration.GetSection("AppSettings")); 

我有以下设置文件:


    public class AppSettings 
    { 
     public string ConnectionString = ""; 
     public string Database = ""; 

     public List<string> ValidOrigins { get; set; } 
    } 

在做绑定:

AppSettings settings = new AppSettings(); 
    Configuration.GetSection("AppSettings").Bind(settings); 

settings.ValidOrigins没问题,但是ConnectionStringDatabase都是null。我究竟做错了什么?

回答

3

活页夹将只绑定属性而不绑定字段。尝试使用属性而不是ConnectionStringDatabase

public string ConnectionString { get; set; } 

public string Database { get; set; } 
0

正如'Henk'所说,您需要使用属性而不是字段。我在我的机器上运行您的代码,除了纠正的属性问题。它适用于以下课程结构:

public class AppSettings 
{ 
    public string ConnectionString { get; set; } 
    public string Database { get; set; } 
    public List<string> ValidOrigins { get; set; } 
}