在我的ASP.NET 5(RC 1)代码中,我有一个appsetting.json,看起来像这样:
{
"SomeSettings": {
"PropA": "ValueA",
"PropB": [
"ValueB1",
"ValueB2"
]
}
}
在我的开发计算机(即localhost)上运行代码时会使用这些值。如果我想覆盖Azure的应用程序设置中的“SomeSettings”以用于wep应用程序,我将如何指定“PropB”数组?
我想在其中存储信息的SomeSettings.cs类如下所示:
public class SomeSettings
{
public string PropA { get; set; }
public List<string> PropB { get; set; }
}
问题是“PropB”--如何在Azure中将数组或List指定为字符串--这甚至是可能的吗?
在我的Startup类的构造函数中,我有:
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
在我的Startup类的Configure方法中,我有:
var someSettings = configuration.GetSection("SomeSettings").Get<SomeSettings>();
3条答案
按热度按时间wsxa1bj11#
像这样在“应用程序设置”下添加设置就可以了...请注意下面的“:0”和“:1”
格式:键-〉值
如果你没有在Windows上运行,请将冒号
:
替换为双下划线__
,以使你的应用程序看到设置。因此,你应该使用SomeSettings__PropA
而不是SomeSettings:PropA
。rjee0c152#
如果数组值是一个对象(请参阅下面的WriteTo值),则可以复制整个WriteTo值,如果需要,可以更新这些值,并为其创建应用程序设置,如下所示:
dbf7pr2w3#
简单的方法是将JSON作为字符串存储在AppSetting中,然后自己反序列化
或者您将不得不创建您自己的客户配置,我相信。https://msdn.microsoft.com/en-us/library/2tw134k3.aspx