【问题标题】:How to access custom settings in an extension method for IApplicationBuilder如何在 IApplicationBuilder 的扩展方法中访问自定义设置
【发布时间】:2019-08-24 18:07:43
【问题描述】:

我正在为我的服务编写扩展方法扩展方法,以将其添加到 IServiceCollection 并在 IApplicationBuilder 中使用。

AddService(this IServiceCollection services, MySettingsClass settings) 也有一些应该使用的设置。

我需要 UseService(this IApplicationBuilder app) 方法中的那些确切设置,但不知道如何在此处访问它们。

如何将这些设置从 ConfigureServices 带到 Configure 而不传递两次(例如 UseService(this IApplicationBuilder app, MySettingsClass settings))。

【问题讨论】:

  • 向 DI 注册 MySettingsClass 本身,然后通过 IApplicationBuilder 本身在您的 IApplicationBuilder 扩展中请求它。

标签: c# asp.net-core .net-core asp.net-core-2.2 .net-core-2.2


【解决方案1】:

你可以使用IOption,例子

public static IServiceCollection AddService(this IServiceCollection services, [NotNull]Action<ServiceConfigModel> configuration)
{
    services.Configure(configuration);

    return services;
}

然后通过注入IOptions&lt; ServiceConfigModel&gt; configuration获取对象ServiceConfigModel的值(调用configuration.value获取值)。

【讨论】:

    猜你喜欢
    • 2014-05-08
    • 2012-11-08
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 2019-12-07
    相关资源
    最近更新 更多