gpt4 book ai didi

c# - 更新库配置以使用 ASP.NET Core

转载 作者:行者123 更新时间:2023-11-30 17:36:47 24 4
gpt4 key购买 nike

我们有一个应用程序库,我们希望更新它以与 ASP.NET Core 和以前版本的 ASP.NET 一起使用。此库当前依赖于 ConfigurationManager 类从 Web.config 读取设置。随着 ASP.NET Core 中配置的更改,是否有建议的方法来创建可以从 ASP.NET Core Web 应用程序和 ASP.NET Core Web 应用程序之前的 Web 应用程序读取配置的库?

读取配置设置的当前逻辑示例。

using System.Configuration;

namespace Test.MyLibrary
{
public class MyLibrarySettings : ConfigurationSection
{

private static MyLibrarySettings settings = ConfigurationManager.GetSection("MyLibrarySettings") as MyLibrarySettings;

public static MyLibrarySettings Settings
{
get
{
return settings;
}
}

public string SomeSettingValue
{
get { return (string)this["someSettingValue"]; }
set { this["someSettingValue"] = value; }
}
}
}

最佳答案

对于 ASP.NET Core,您可以直接使用 IConfiguration 的实例, 那表示一组键/值应用程序配置属性:

public interface IConfiguration
{
/// <summary>
/// Gets or sets a configuration value.
/// </summary>
/// <param name="key">The configuration key.</param>
/// <returns>The configuration value.</returns>
string this[string key] { get; set; }

...
}

所以你可以写这样的代码

    private IConfiguration _configuration;

public string SomeSettingValue
{
get { return (string)_configuration["someSettingValue"]; }
set { _configuration["someSettingValue"] = value; }
}

请记住,ConfigurationBuilder.Build() 方法返回 IConfigurationRoot,它继承自 IConfiguration:

/// <summary>
/// Represents the root of an <see cref="IConfiguration"/> hierarchy.
/// </summary>
public interface IConfigurationRoot : IConfiguration

关于c# - 更新库配置以使用 ASP.NET Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38975391/

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