Экземпляр одноэлементного объекта не внедряется в объект с экземплярной областью - PullRequest
0 голосов
/ 13 января 2019

У меня есть два следующих класса:

public class MyScoped : IMyScoped
{
   private readonly ITransaction _transaction;

   public MyScoped(ITransaction transaction)
      => _transaction = transaction;

   public void Apply()
   {
     if(_transaction.Commit)
     {
        SaveToDatabase();
     }
   }
}

public class Transaction : ITransaction
{
   public bool Commit{get;set;}
}

Я связал эти два класса так:

services
 .AddSingleton<ITransaction,Transaction>()
 .AddScoped<IMyScoped,MyScoped>()

Где-то перед вызовом экземпляра класса MyScoped я установил для «Commit» значение true, как показано в следующем коде:

_transaction.Commit = true;
_myScoped.Apply();

Но это всегда false при проверке условия if(_transaction.Commit) и, следовательно, транзакция не зафиксирована. Что я сделал не так?!

...