У меня есть проект WebApi, и в контроллере я использую HostingEnvironment.QueueBackgroundWorkItem
для запуска задания в отдельном потоке:
public IHttpActionResult DoJob()
{
HostingEnvironment.QueueBackgroundWorkItem(ct =>
{
var service = new MyService(logService, userInfo);
var entity = service.DoJob(ct);
});
return Ok();
}
В настоящее время в приведенном выше примере я использую конкретный экземпляр (который я хочу заменить) моего сервиса.Я также использую Autofac
, и для своих услуг я настроил следующее:
builder.RegisterAssemblyTypes(assemblies)
.Where(t => t.Name.EndsWith("Service"))
.AsImplementedInterfaces()
.InstancePerRequest();
Приведенная выше регистрация работает нормально для всех служб при обычном использовании в запросе.
Будет ли указанная выше регистрациятакже работают для сервисов при запуске в отдельном потоке после завершения запроса?