Невозможно разрешить параметры в файле startup.cs с неосновным проектом.

У меня есть asp net webapi, и мне нужно разрешить некоторые параметры в файле запуска. Опция здесь имеет простой класс, который принимает параметры из конфигурации JSON. При запуске регистрация параметров AutofacModule, где зарегистрировать раздел конфигурации, что мне нужно. Пример: RegisterConfigurationOptions<IdentitySettings>(builder, configuration.GetSection("Identity")); в OptionAutofacModule, который containerBuilder.RegisterModule<OptionsAutofacModule>();, который вызывается при запуске.cs. Итак, мне нужен доступ к "identitysettings" внутри метода в startup.cs.

Редактировать 0: у меня есть чистый основной проект и классический asp net web api. Чистое ядро ​​проекта с использованием конфигурации, что разрешение из файла JSON. Я могу получить доступ к этой конфигурации внутри контроллеров классического проекта.net webapi, используя IOptions. Но я не могу получить доступ к этим параметрам внутри startup.cs

1 ответ

Решение

В теории решение простое, но я забыл о begincope. Решение:

config.DependencyResolver
      .BeginScope()
      .GetService(typeof(IOptions<YourOptions>)) as IOptions<YourOptions>;

где config это HttpConfiguration

Другие вопросы по тегам