У меня есть класс, которому нужна строка подключения в качестве параметра для его конструктора:
public class MyClassHere
{
private string connectionString;
public MyClassHere(string connectionString)
{
this.connectionString = connectionString;
}
}
Я добавил этот класс в качестве одиночного к моей службе, например:
services.AddSingleton<MyClassHere>();
Понятно, что это не работает, потому что он принимает строку в конструкторе.
Я видел примеры, которые говорят, что делают это:
services.AddSingleton<MyClassHere>(new MyClassHere("Some Connnection String"));
Но я также читал расплывчатые вещи, которые говорят, что когда вы делаете это, система внедрения зависимостей не будет очищать ваши объекты для вас.
Какие (если таковые имеются) недостатки в передаче экземпляра в систему внедрения зависимостей (вместо того, чтобы просто позволить ему сделать это для вас)?