#c# #azure #.net-core #azure-devops #appsettings
Вопрос:
У меня есть пример приложения в .NET core, файл appsettings.json используется для хранения конфигураций.
В этом файле json я создал иерархию, которая должна быть преобразована в словарь<строка, строка>, к которому можно получить доступ из некоторых методов в моем коде.
Все работает правильно и никаких проблем до сих пор.
Теперь это приложение размещено в Azure, и я переношу все свои параметры в раздел Конфигурация Azure — Параметры приложения.
Значения параметров приложений на первом уровне правильно работают в разделе параметров Azure (например, SampleSettingAddress).
Знаете ли вы, как словарь (OptionsDictionary, MusicUrls) следует размещать в полях настроек Azure? Возможно ли это?
"SampleSetting": {
"SampleSettingAddress": "sample",
"SampleSettingEmailAddress": "sample",
"MusicUrls": {
"musicStore": "https://samplemusic1.com/hits/",
"musicStoreAn": "https://samplemusic2.com/hits/",
"musicStoreExt": "https://samplemusic3.com/hits/"
},
"OptionsDictionary": {
"key1": "sample1",
"key2": "sample2",
"key3": "sample3"
}
}
public class SampleSetting
{
public string SampleSettingAddress { get; set; }
public string SampleSettingEmailAddress { get; set; }
public Dictionary<string, string> MusicUrls { get; set; }
public Dictionary<string, string> OptionsDictionary { get; set; }
}
"SampleSetting": {
"SampleSettingAddress": "sample",
"SampleSettingEmailAddress": "sample",
"MusicUrls": {
"musicStore": "https://samplemusic1.com/hits/",
"musicStoreAn": "https://samplemusic2.com/hits/",
"musicStoreExt": "https://samplemusic3.com/hits/"
},
"OptionsDictionary": {
"key1": "sample1",
"key2": "sample2",
"key3": "sample3"
}
}
public class SampleSetting
{
public string SampleSettingAddress { get; set; }
public string SampleSettingEmailAddress { get; set; }
public Dictionary<string, string> MusicUrls { get; set; }
public Dictionary<string, string> OptionsDictionary { get; set; }
}
Ответ №1:
Конечно, это, безусловно, возможно сделать. Вот как бы вы это сделали:
Name: SampleSetting__SampleSettingAddress
Value: sample
Name: SampleSetting__MusicUrls__musicStore
Value: https://samplemusic1.com/hits/
В основном вам нужно будет выровнять объект JSON и использовать __
его в качестве разделителя. Если вы работаете в Windows, вы также можете использовать :
вместо __
.