我们如何在外部库中创建ConfigurationDbContext的实例?

时间:2018-02-12 05:52:37

标签: identityserver4

我们如何在外部库中创建ConfigurationDbContext实例以动态添加客户端?实际上我们使用EntityFrameworkCore和IdentityServer4来存储配置数据。

1 个答案:

答案 0 :(得分:0)

假设您使用的是.NET Core,您需要做的就是确保通过依赖注入创建您需要访问ConfigurationDbContext的类,然后在构造函数中注入IConfigurationDbContext

以下是一个例子。

如果您需要IConfigurationDbContext类中的ClientsService,请将其注册为依赖注入,如下所示:

public static IServiceCollection AddDataServices(this IServiceCollection services)
{
    return services
        .AddTransient<IClientsService, ClientsService>();
}

然后在ClientsService构造函数中注入上下文:

internal sealed class ClientsService : IClientsService
{
    public ClientsService(IConfigurationDbContext context)
    {
        (...)
    }
}

由于Identity Server在启动时注册了上下文,因此可以按照您的需要进行操作。