C# Azure函数-如何在配置文件中插入阵列
正如建议的那样,我正在使用local.settings.json文件来存储Azure函数的应用程序设置。我可以访问以下示例中应用程序设置的值C# Azure函数-如何在配置文件中插入阵列,c#,arrays,json,azure,C#,Arrays,Json,Azure,正如建议的那样,我正在使用local.settings.json文件来存储Azure函数的应用程序设置。我可以访问以下示例中应用程序设置的值 { "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "", "AzureWebJobsDashboard": "" }, "Con
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": ""
},
"ConnectionStrings": {
"SQLConnectionString": "myConnectionString"
}
}
使用ConfigurationManager.ApplicationSettings[“someValue”]
或使用ConfigurationManager.ConnectionStrings[“SQLConnectionString”]
连接字符串。
但是,当我尝试将数组作为值之一插入时:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": "",
"myArray": [
{
"key1": "value1",
"key2": "value2"
},
{
"key1": "value3",
"key2": "value4"
}
]
},
"ConnectionStrings": {
"SQLConnectionString": "myConnectionString"
}
}
我开始出现异常(例如,当我尝试访问连接字符串时)。所以我猜我没有使用正确的数组格式。
可以在local.settings.json文件中使用数组吗?如果可以,正确的格式是什么?根据azure函数源代码,您可以发现它有一个AppSettingsFile类,用于从local.settings.json文件读取设置 AppSettingsFile类的某些部分:
public AppSettingsFile(string filePath)
{
_filePath = filePath;
try
{
var content = FileSystemHelpers.ReadAllTextFromFile(_filePath);
var appSettings = JsonConvert.DeserializeObject<AppSettingsFile>(content);
IsEncrypted = appSettings.IsEncrypted;
Values = appSettings.Values;
ConnectionStrings = appSettings.ConnectionStrings;
Host = appSettings.Host;
}
catch
{
Values = new Dictionary<string, string>();
ConnectionStrings = new Dictionary<string, string>();
IsEncrypted = true;
}
}
public bool IsEncrypted { get; set; }
public Dictionary<string, string> Values { get; set; } = new Dictionary<string, string>();
public Dictionary<string, string> ConnectionStrings { get; set; } = new Dictionary<string, string>();
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": "",
"arrary1-key1": "value1",
"arrary1-key2": "value2",
"arrary2-key1": "value3",
"arrary2-key2": "value4"
},
"ConnectionStrings": {
"SQLConnectionString": "myConnectionString"
}
}