Кто-нибудь знает, как можно получить доступ к IServiceCollection code> внутри объекта IHost после запуска приложения?
Я добавил Entity Framework Core DbContext (
Код: Выделить всё
AddDbContext
Код: Выделить всё
AddSingleton
Код: Выделить всё
AddHostedService
Затем я вызываю host.Run(), который запускает метод ExecuteAsync() фонового рабочего процесса.
В фоновом рабочем процессе конструктору передается служба, а внутри ExecuteAsync() я могу вызывать методы этой службы.
Однако проблема в том, что Мне нужно иметь возможность получить контекст базы данных (он не является частью службы, поскольку он делает что-то другое), но нет обратного дескриптора объекта IHost.
Я собираюсь сделать что-то вроде (где xyz — ссылка на службы)
Код: Выделить всё
xyz.GetService("myservice").DoSomething()
Код: Выделить всё
xyz.GetContext("bobsContext).UpdateSomething()
Подробнее здесь: https://stackoverflow.com/questions/788 ... fter-in-ap