[英]Abstract Settings Configuration in ASP.NET Core
我有一個ASP.NET Core應用程序,它可以具有不同類型的組件。 在運行時才知道這些類型。 我有一組按類型分類的設置,以及一個存儲設置的組件集合的頂級設置對象。 例如,
public class ServiceSettings
{
List<ComponentSettingsBase> Components { get; set; }
}
public abstract class ComponentSettingsBase
{
}
public class ASettings : ComponentSettingsBase { get; set; }
public class BSettings : ComponentSettingsBase { get; set; }
使用Json文件,我可以創建基礎ServiceSettings
對象,並為諸如字符串之類的簡單類型正確地映射它。 當涉及到集合時,它只會忽略它。 我已經嘗試添加像Json.NET(Newtonsoft)這樣的類型信息來處理類型名稱,但是在任何地方都找不到配置該如何反序列化的信息。 我認為這就是他們過去使用的方式,並且用於Web API通信的Json序列化器有簡單的配置設置,但這似乎並不影響設置/配置序列化。
有什么辦法可以使用內置設置提供程序來做到這一點? 還是我需要做一些事情,例如使用設置提供程序指向另一個文件,然后使用功能更強大的Json反序列化器反序列化設置?
我認為這里的問題是您想將JSON數組映射到C# List<T>
。
我要做的就是將代碼更改為以下內容:
public class ServiceSettings
{
ComponentSettingsBase[] Components { get; set; }
}
我可能是錯的,但是...接下來我要嘗試的是朝另一個方向前進
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.