1

我正在尝试从 Azure App 配置存储中获取值。我创建了一个键 -Credentials具有值

{
      "Name": "MyNewCsv",
      "Extension": "csv",
      "Delimeter": "|"
}

我已将其内容类型设置为application/json.

我正在尝试从 C# 代码中读取此键值,如下所示:

private readonly IConfiguration _configuration;
        public Helper(IConfiguration configuration)
        {
            _configuration = configuration;
        }

public FileConfiguration GetFileConfiguration(string azureKeyName)
        {
            string message = _configuration[azureKeyName];
            var fileConfiguration = JsonConvert.DeserializeObject<FileConfiguration>(message);
            return fileConfiguration;
        }

我正在传递azureKeyNameasCredentials但是当我调试代码时message,即使密钥是在 Azure 上创建的,代码也是空的。当我application/json从 App 配置商店中删除内容类型时,此代码可以正常工作。

为什么我在设置 content-type 时遇到麻烦?当内容类型设置为时,请帮助我如何读取键值application/json

请帮忙。

在此处输入图像描述

谢谢。

4

1 回答 1

3

这是因为Credentials在 App Config 中保存为 JSON 对象。因此,将其读作 astring是不正确的。您将必须创建一个如下所示的类:

public class Credentials{
   public string Name{get;set;}
   public string Extension{get;set;}
   public string Delimeter{get;set;}
}

然后,像下面这样阅读它:

Credentials message = _configuration.GetSection(azureKeyName).Value;
于 2021-08-26T09:06:09.883 回答