如何在 configureServices 中访问配置
How to access configuration in configureServices
您将如何从 Giraffe-FSharp 中的 configureServices
方法内部访问配置?
这是 SAFE template 通过 dotnet new SAFE -lang F# --server giraffe
创建的 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
从服务集合中获取服务提供者,然后使用它来获取配置:
let serviceProvider = services.BuildServiceProvider()
let config = serviceProvider.GetService<IConfiguration>()
您将如何从 Giraffe-FSharp 中的 configureServices
方法内部访问配置?
这是 SAFE template 通过 dotnet new SAFE -lang F# --server giraffe
创建的 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
从服务集合中获取服务提供者,然后使用它来获取配置:
let serviceProvider = services.BuildServiceProvider()
let config = serviceProvider.GetService<IConfiguration>()