2017-09-26 39 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; } 
}