我正在尝试使用身份服务来管理我的应用程序的登录.我有以下内容 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