【问题标题】:Dictionary in Azure Configuration Application SettingsAzure 配置应用程序设置中的字典
【发布时间】:2021-07-08 11:23:39
【问题描述】:

我在 .NET core 中有一个示例应用程序,appsettings.json 文件用于存储配置。

在这个 json 文件中,我创建了一个要转换为 Dictionary 的层次结构,以便从我的代码中的某些方法访问。

一切正常,直到这里没有问题。

现在,此应用托管在 Azure 中,我正在将所有设置迁移到 Azure 配置 - 应用程序设置部分。

第一级的 appsettings 值在 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; }

                              

   }

【问题讨论】:

    标签: c# azure .net-core azure-devops appsettings


    【解决方案1】:

    当然可以。你会这样做:

    Name: SampleSetting__SampleSettingAddress
    Value: sample
    
    Name: SampleSetting__MusicUrls__musicStore
    Value: https://samplemusic1.com/hits/
    

    基本上,您需要展平您的 JSON 对象并使用 __ 作为分隔符。如果您使用的是 Windows,也可以使用 : 代替 __

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 2021-02-01
      • 2021-02-15
      • 2016-09-20
      • 2010-12-20
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多