Как сделать задержку с проверкой перед добавлением данных в ASP.NET
Как сделать задержку перед добавлением новых данных в ASP.NET Core с целью отмены записи этих данных, если во время задержки поступит запрос на добавление таких же данных?
Сценарий должен быть такой: передаем в метод нового юзера, проходим проверку на null. А дальше нужна задержка на 5 сек. и если за 5 сек. будет попытка добавления юзера с таким же логином, то не добавляем ничего, иначе добавляем юзера в БД. При этом эта задержка не должна мешать добавлять других юзеров.
Пытался применить здесь класс Task и CancellationToken, но в многопоточным программированием не силен, не разобрался.
[HttpPost]
public async Task<ActionResult<User>> AddUser(User user)
{
if (user == null)
return BadRequest();
db.Users.Add(user);
await db.SaveChangesAsync();
return Ok();
}