Попытка написать API, и у меня есть странный случай, который я пытался решить, как:Может ли метод async блокировать переменную вместо вызова метода?
if (!request.WillCheckGetLater)
{
// Client calling is willing to wait only for certain amount of time
var clientWillingToWaitFor = GetResponseTime(request);
var needsToUpdateResponse = await AwaitResponse(heldBidRequest, clientWillingToWaitFor);
SendMessage(...);
return needsToUpdateResponse;
}
else
{
SendMessage(...);
return false;
}
Хотя на мой пост метод, который я пытаюсь дождаться этого метода. В основном, когда я получаю сообщение, я строю «короткий» ответ, а клиент проверяет «длинный» ответ с помощью метода GET из API, но также может запрашивать непосредственно длинный ответ в POST, но должен указать, как он готов подождать этого долгого ответа, иначе я по умолчанию «короткий» ответ ...
Метод SendMessage - это, в основном, сторонняя система связи, в которой я подписываюсь и публикую сообщения.
прямо сейчас, когда линия
var needsToUpdateResponse = await AwaitResponse(heldBidRequest, clientWillingToWaitFor);
выполняется, она блокирует этот кусок кода и SendMessage не будет выполняться до тех пор, задача более, в идеале я предпочел бы блокировал на возвращение вместо этого.
Мне не обязательно вызывать SendMessage. Сначала просто из-за странного сценария я мог получить ответ от сообщения, прежде чем я его настроил для его ожидания.
Любые идеи о том, что я могу использовать для этого?
благодарит Брэдли, это было так :) – CPay