gpt4 book ai didi

configuration - 在 ASP.NET Core 中的 ConfigureServices 阶段实际读取 AppSettings

转载 作者:行者123 更新时间:2023-12-03 12:06:31 25 4
gpt4 key购买 nike

我需要在 ConfigureServices 中设置一些依赖项(服务) ASP.NET Core 1.0 Web 应用程序中的方法。
问题是,基于新的 JSON 配置,我需要设置一个或另一个服务。
我似乎无法真正读取 ConfigureServices 中的设置应用生命周期的阶段:

public void ConfigureServices(IServiceCollection services)
{
var section = Configuration.GetSection("MySettings"); // this does not actually hold the settings
services.Configure<MySettingsClass>(section); // this is a setup instruction, I can't actually get a MySettingsClass instance with the settings
// ...
// set up services
services.AddSingleton(typeof(ISomething), typeof(ConcreteSomething));
}
我需要实际阅读该部分并决定注册什么 ISomething (可能是与 ConcreteSomething 不同的类型)。

最佳答案

这是您可以从 appSettings.json 获取输入设置的方式就在 ConfigureServices方法:

public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
services.Configure<MySettings>(Configuration.GetSection(nameof(MySettings)));
services.AddSingleton(Configuration);

// ...

var settings = Configuration.GetSection(nameof(MySettings)).Get<MySettings>();
int maxNumberOfSomething = settings.MaxNumberOfSomething;

// ...
}

// ...
}

关于configuration - 在 ASP.NET Core 中的 ConfigureServices 阶段实际读取 AppSettings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470556/

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