gpt4 book ai didi

c# - 如何在 web.config 中存储自定义数据?

转载 作者:太空狗 更新时间:2023-10-30 00:41:52 28 4
gpt4 key购买 nike

我的 apiController 中有以下方法:

public IEnumerable<something> GetData(DataProvider dataProvider)
{
return dataProvider.GetData();
}

我需要的是从 javascript 调用此方法并将其传递给 DataProvider 派生类型的参数。我可以通过传递字符串来处理这个问题,例如“FirstProvider”,然后在 GetData() 方法中写入 N 个 if 以创建正确类型的实例。

但是有什么方法可以让我在 web.config 文件中写类似这样的内容:

<DataProviders>
<type = FirstDataProvider, alias = "FirstProvider">
<type = SecondDataProvider, alias = "SecondProvider">
</DataProviders>

将 getData 方法更改为:

public IEnumerable<something> GetData(string dataProviderAlias)
{
// get provider type by it's alias from web congfig,
// then instantiated and call:
return dataProvider.GetData();
}

然后通过它的别名找到并实例化类型?

注意:我接受了下面的答案,因为它为我指出了正确的方向,但 msdn 说 IConfigurationSectionHandler 已被弃用。
所以我使用 ConfigurationSectionConfigurationElementCollectionConfigurationElement 类来构建自定义配置部分。

最佳答案

您可以在 web.config in the appSettings element: 中存储任意数据

<configuration>
<appSettings>
<add key="FirstAlias" value="FirstProvider" />
<add key="SecondAlias" value="SecondProvider" />
</appSettings>
</configuration>

然后您可以使用以下方法读取值:

String firstAlias = System.Configuration.ConfigurationManager.AppSettings["FirstAlias"];
String secondAlias = System.Configuration.ConfigurationManager.AppSettings["SecondAlias"];

它是内置的。它受支持。这是您应该存储自定义数据的地方。

关于c# - 如何在 web.config 中存储自定义数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18368878/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com