Как установить динамическую строку подключения в фильтре действий для ядра mongodb asp.net - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть родительский класс для уровня доступа к данным, который читает строку подключения из sharedappsettings.Для каждого запроса я хочу установить строку подключения динамически, может быть фильтр действий на основе параметра заголовка.Как это сделать?

1 Ответ

0 голосов
/ 30 сентября 2019

Для установки строки подключения с заголовком запроса, вы можете попробовать IHttpContextAccessor в DbContext, как

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    private readonly HttpContext httpContext;
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IHttpContextAccessor httpContextAccessor)
        : base(options)
    {
        httpContext = httpContextAccessor.HttpContext;
    }
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        var connection = httpContext.Request.Headers["Connectionstring"];
        optionsBuilder.UseSqlServer(connection);
    }       
}
...