Мне нужно получить ссылку на зарегистрированную размещенную службу:
services.AddHostedService<DataCollectingService>();
Он реализует интерфейс IHostedService
и правильно запускается при запуске веб-приложения.
Мне нужно получить ссылку на службу в каком-то контроллере и получить доступ к публичным членам объекта.
Следующий код не работает. xService
равно нулю.
public IActionResult T()
{
using (var serviceScope = _serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
var xService = serviceScope.ServiceProvider.GetService<DataCollectingService>();
}
return RedirectToAction(nameof(Index));
}
IHostedService
. Вы должны иметь возможность запроситьIEnumerable<IHostedService>
в конструкторе вашего контроллера. Но я не думаю, что вы можете запросить размещенную службу напрямую по имени. - person gunr2171   schedule 10.06.2019