Я должен иметь возможность передать строку подключения в некоторые из моих реализаций услуг. Я делаю это в конструкторе. Строка подключения настраивается пользователем пользователя, будет добавлена претензий в качестве претензии. < /P>
Все штраф. < /p>
public interface IRootService
{
INestedService NestedService { get; set; }
void DoSomething();
}
public class RootService : IRootService
{
public INestedService NestedService { get; set; }
public RootService(INestedService nestedService)
{
NestedService = nestedService;
}
public void DoSomething()
{
// implement
}
}
public interface INestedService
{
string ConnectionString { get; set; }
void DoSomethingElse();
}
public class NestedService : INestedService
{
public string ConnectionString { get; set; }
public NestedService(string connectionString)
{
ConnectionString = connectionString;
}
public void DoSomethingElse()
{
// implement
}
}
< /code>
Эти службы были зарегистрированы во время запуска, а был добавлен конструктор контроллера. < /p>
public HomeController(INestedService nestedService)
{
NestedService = nestedService;
}
< /code>
Как и ожидалось, я получаю ошибку, неспособную разрешить службу для типа 'System.string', пытаясь активировать 'test.dependency.services.nestedservice'. < /cod> < /p>
>
Подробнее здесь: https://stackoverflow.com/questions/377 ... resolution