Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Есть метод DoSomething в котором происходит асинхронный запрос к БД для работы с объектом имеющего уникальный ID, нужно чтобы пока обрабатывается объект новый асинхронный запрос не прошел.
А>>[c#]
А>Как то странно получается: "Синхронный запрос через асинхронные методы" В чём фишка?
Нет это не синхронный запрос, если заметили то там просто return.
То есть если 2 потока пихнут на обработку одинаковый ID, например =1 , то пока первый обрабатывается второй будет игнорироваться, процедура не "зависает" как при синхронном запросе , а просто игнорирует дублирующий запрос.
При этом 2й поток может послать DoSomething(2) и DoSomething(3) которые будут работать паралельно с DoSomething(1)
Или один поток может вызвать DoSomething(1) и через некоторое время послать DoSomething(2), DoSomething(3) и еще раз DoSomething(1) , а первый запрос еще может не завершится.