Как получить доступ к конфигурации в 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>()