gpt4 book ai didi

c# - 在 ASP.NET Core 应用程序中加载自定义 ConfigSection

转载 作者:行者123 更新时间:2023-12-04 16:06:48 24 4
gpt4 key购买 nike

我们有一个新的 ASP.NET Core 2.0 应用程序,但我们需要使用 .NET Framework 4.6.1 库,该库需要访问 Web.config(或类似文件)中定义的自定义 ConfigSection .初始尝试导致错误指示内部组件无法加载/找到该部分。这在非核心应用程序中运行良好,我们希望有一种方法可以在核心应用程序中运行。

这是一个如何在配置文件中注册的示例。

<configSections>
<section name="data-connector" type="Connector.Configuration.ConnectorConfigSection, Connector" />
</configSections>

如果有帮助,组件使用以下代码加载其配置部分。

/// <summary>
/// Loads an instance of a specified configuration section or a default instance if one was not found
/// </summary>
/// <typeparam name="T">The Configuration Section type to be loaded</typeparam>
/// <param name="sectionName">The name/path of the section to be loaded as seen in the config file</param>
public static T GetSectionInstance<T>(string sectionName) where T : ConfigurationSection
{
if (string.IsNullOrEmpty(sectionName)) throw new ArgumentNullException("sectionName");

var instance = (ConfigurationSection)ConfigurationManager.GetSection(sectionName);

return (instance == null || !typeof(T).IsAssignableFrom(instance.GetType()))
? Activator.CreateInstance<T>()
: instance as T;
}

我们可以要求组件所有者更改他们的加载过程,但我们不能使它成为原生核心组件。

是否有解决方法来确保 web.config 部分仍然受支持?

最佳答案

如果您在 .NET Framework 上使用 ASP.NET Core 2.0,则需要使用 app.config 而不是 web.config。

关于c# - 在 ASP.NET Core 应用程序中加载自定义 ConfigSection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48391302/

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