sas*_*ang 5 c# asp.net f# f#-giraffe
我正在尝试使用身份服务来管理我的应用程序的登录。我有以下
let configureServices (services : IServiceCollection) =
// Configure InMemory Db for sample application
services.AddDbContext<IdentityDbContext<IdentityUser>>(
fun options ->
options.UseInMemoryDatabase("NameOfDatabase") |> ignore
) |> ignore
Run Code Online (Sandbox Code Playgroud)
但是它使用内存数据库。我想保留用户注册信息,并且我有 postgresql 设置并想使用该数据库来保留信息。我在 settings.json 文件中有 connectionString 信息。我想把上面的函数改成这样:
let configureServices (services : IServiceCollection) =
// Configure InMemory Db for sample application
services.AddDbContext<IdentityDbContext<IdentityUser>>(
fun options ->
let config = ctx.GetService<IConfiguration>()
let connString = config.Item("connectionString")
options.UseNpgsql(connString) |> ignore
) |> ignore
Run Code Online (Sandbox Code Playgroud)
但问题出在 configureServices 函数中,我无权访问处理应用程序配置的 Httpcontext(由上面的 ctx 表示)。我该怎么做呢?基本上我想从我的 configureServices 函数中的 settings.json 文件中获取 connectionString 字段的值。
小智 3
希望您将以下代码行添加到您的 app.cofig 文件中。
<connectionStrings>
<add name="DefaultConnection"
connectionString="Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" />
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
其中存储了数据库连接字符串。在ConfigureServices()中,您可以访问配置对象,该对象使您可以访问app.config文件中的应用程序连接字符串。
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
Run Code Online (Sandbox Code Playgroud)
欲了解更多详情:-点击这里
| 归档时间: |
|
| 查看次数: |
1630 次 |
| 最近记录: |