我对我的一些类使用IOptions模式作为配置.我需要在这个Options类中使用Dictionary<Uri, Uri>
:
public class CdnOptions
{
public const string CONFIG_SECTION_NAME_S = "CdnTransformationOptions";
public bool EnableCdnTransformations { get; set; }
public Dictionary<string, string> CdnTransformRules { get; set; } = [];
}
这就是我绑定这些选项的方式:
services.AddOptions<CdnOptions>().Bind(configuration.GetSection(CdnOptions.CONFIG_SECTION_NAME_S))
.ValidateDataAnnotations();
appsettings.json包含的数据如下:
CdnTransformationOptions": {
"EnableCdnTransformations": true,
"CdnTransformRules": {
"https://localhost:7021": "https://cdn.mydomain.com"
}
},
但无论我怎么改,我得到的都是一本空词典.我也试着用简单的Dictionary<string, string>
代替Dictionary<Uri, Uri>
,但得到了同样的结果.
这里面少了什么?