логики есть метод SignUpAsync(), который региструет пользователя в системе. Т.к. это сервис, каждый запрос = поток, и есть вероятность что два и более потоков пройдут первую проверку, а затем попробуют вставить запись с одинаковым юник полем - Email. Как хэндлить вообще конкарент инсерт? Из идей было навесить прост лок семафорслимом или в оптимистик вэй - отлавливать DbUpdateException, лезть во внутрений SqlException, в его свойство Number и основываясь на нем отличать ошибку об юник индексе
можно делать лок на таблицу, когда пишешь эту сущность, например
Обсуждают сегодня