我正在尝试使用身份服务来管理我的应用程序的登录.我有以下内容 let configureServices (services : IServiceCollection) = // Configure InMemory Db for sample application services.AddDbContextIdentityDbContextIdentityU
let configureServices (services : IServiceCollection) =
// Configure InMemory Db for sample application
services.AddDbContext<IdentityDbContext<IdentityUser>>(
fun options ->
options.UseInMemoryDatabase("NameOfDatabase") |> ignore
) |> ignore
但是它使用内存数据库.我想保留用户注册信息,我有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
但问题来自configureServices函数,我无法访问处理应用程序配置的Httpcontext(由上面的ctx表示).我该怎么做呢?基本上我想从configureServices函数中的settings.json文件中获取connectionString字段的值.
希望你将以下代码行添加到你的app.cofig文件中.
<connectionStrings>
<add name="DefaultConnection"
connectionString="Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" />
</connectionStrings>
</configuration>
其中存储了数据库连接字符串.
在ConfigureServices()中,U可以访问配置对象,从而可以从app.config文件访问应用程序连接字符串.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
有关详细信息:-Click Here
