Как получить доступ к конфигурации в configureServices

Как бы вы получили доступ к конфигурации изнутри configureServices метод у жирафа-фшарп?

Вот сокращенный раздел из настройки Giraffe, созданный шаблоном SAFE через dotnet new SAFE -lang F# --server giraffe:

let configureServices (services : IServiceCollection) =
    services.AddCors()                  |> ignore
    services.AddGiraffe()               |> ignore
    // Want to access configuration here.



[<EntryPoint>]
let main _ =
    let contentRoot = Directory.GetCurrentDirectory()
    let webRoot     = Path.Combine(contentRoot, "WebRoot")

    WebHostBuilder()
        .UseKestrel()
        .UseContentRoot(contentRoot)
        .UseIISIntegration()
        .UseWebRoot(webRoot)
        .Configure(Action<IApplicationBuilder> configureApp)
        .ConfigureAppConfiguration(Action<WebHostBuilderContext, IConfigurationBuilder> configureAppConfig)
        .ConfigureServices(configureServices)
        .ConfigureLogging(configureLogging)
        .Build()
        .Run()
    0

1 ответ

Решение

Получите поставщика услуг из коллекции сервисов, затем используйте его для получения конфигурации:

let serviceProvider = services.BuildServiceProvider()
let config = serviceProvider.GetService<IConfiguration>()
Другие вопросы по тегам