У меня есть конечная точка API, которая запускается и выполняет задание при выполнении.Я хотел бы создать другую конечную точку, чтобы знать, все еще выполняется состояние задания через предыдущую конечную точку или нет.
1) Я создал интерфейс / класс со свойством bool и установил для свойства значение true вначало и ложь в конце метода.Внедрил интерфейс как в хранилище, так и в контроллер, но значение всегда ложно даже во время работы.Я думаю, что Dependency Injection создает новый экземпляр.2) Я попытался создать открытое свойство в репозитории и установить значение в начале метода на true и false после завершения задания в конце метода, который называется репозиторием в конечной точке состояния.Но это снова оказывается ложным (код ниже)
[routeof(start)]
[HttpPost]
public async Task<ActionResult> Start(){
var serviceProvider = GetServiceProvider().GetService<JobRepo>();
If(serviceProvider.Running){
return BadRequest();
}
await serviceprovider.Run();
Return Ok();
}
[HttpGet]
public ActionResult Status()
{
var serviceProvider = GetServiceProvider().GetService<JobRepo>();
return Ok(serviceProvider.Running.ToString())
}
В JobRepo,
public bool Running {get; set;}
public void Run()
{
Running = true;
//logic to run the job and complete works fine
Running = false;
}
Я также попытался создать и взаимодействовать со свойством bool и внедрить его в репои контроллер
Пожалуйста, игнорируйте синтаксические и орфографические ошибки.Задание работает нормально, мне нужно, чтобы состояние задания было истинным, когда оно запущено, и ложным в противном случаеЯ ожидаю, что свойство bool будет истинным во время выполнения задания и ложным, когда задание завершено и до его запуска.Я получаю значение как ложное, так как оно создает новый экземпляр.Как получить статус задания, выполняющегося в хранилище при вызове из конечной точки контроллера?