Создание экземпляра класса для внедрения зависимостей по ключу в ASP.NETC#

Место общения программистов C#
Ответить
Anonymous
 Создание экземпляра класса для внедрения зависимостей по ключу в ASP.NET

Сообщение Anonymous »

У меня есть класс DbCheck, который реализует интерфейс ICheck из пакета компании nuget.
Я использую класс DbCheck для проверки работоспособности базы данных, используемой в проекте. Но в проекте 3 базы данных, поэтому мне нужно зарегистрировать их все, вот так.

Код: Выделить всё

var db1 = new DbCheck(checkName, dataConnection, tableInfo);
services.AddScoped(provider => db1);

var db2 = new DbCheck(checkName, dataConnection, tableInfo);
services.AddScoped(provider => db2);

var db3 = new DbCheck(checkName, dataConnection, tableInfo);
services.AddScoped(provider => db3);
Но когда я это делаю, я регистрирую только db3.
Когда я пытаюсь создать разные классы для каждой базы данных, которые наследуются от DbCheck, и регистрировать каждый класс отдельно, я получите ошибку, вероятно, возникающую в методе nuget.
Я пробовал другие способы, они тоже не сработали.
Я бы хотел попробовать что-то вроде этого,

Код: Выделить всё

services.AddKeyedScoped("db1", provider => db1);
services.AddKeyedScoped("db2", provider => db2);
services.AddKeyedScoped("db1", provider => db3);
Но метод AddKeyedScoped не принимает эти параметры, как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-asp-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»