Почему вы хотите внедрить ваш IHostedService в ваш контроллер? Кажется действительно странным для меня.
Во всяком случае, AddHostedService регистрирует реализацию как переходную, как это можно увидеть здесь ...
public static IServiceCollection AddHostedService<THostedService>(this IServiceCollection services)
where THostedService : class, IHostedService
=> services.AddTransient<IHostedService, THostedService>();
}
... так что следующее должно"работа"
services.AddTransient<MyService>();
services.AddTransient<IHostedService>(x => return x.GetRequiredService<MyService>());
Единственная проблема с этим заключается в том, что вы будете получать новый свежий экземпляр вашего сервиса каждый раз, когда вы вводите / разрешаете его, и я не думаю, что это то, что вы хотите.
Итак, почему вы хотите это сделать, какую проблему вы пытаетесь решить?