如何在 IApplicationBuilder 的扩展方法中访问自定义设置

How to access custom settings in an extension method for IApplicationBuilder

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

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

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

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

您可以使用 IOption,示例

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

    return services;
}

然后通过inject IOptions< ServiceConfigModel> configuration获取对象ServiceConfigModel的值(调用configuration.value获取值)