В моем веб-приложении (ASP.NET) у меня есть блок кода, который использует HttpWebRequest для вызова службы REST и продолжения выполнения. Сейчас это занимает больше времени, чем я хотел бы заполнить полный веб-запрос. Дело в том, что возвращение службы REST нецелесообразно. В идеале я бы хотел отправить веб-запрос Async в службу REST, а затем НЕ ждать ответа. Проблема в том, что я пробовал это с помощью
request.BeginGetResponse(New AsyncCallback(AddressOf myFunc), Nothing)
Чтобы запустить асинхронный запрос и вместо НЕ ждать (я бы предположил, что это будет поведение по умолчанию для асинхронного запроса), он непрерывно выполняет функцию обратного вызова перед выполнением следующей строки кода после BeginGetResponse
.
Я подозреваю, что ASP.NET может преобразовать его в запрос синхронизации, когда он находится в веб-приложении. Мне повезло, потому что там есть объект IAsyncResult result
, который передается в функцию обратного вызова, и когда я исследую его свойство CompletedSynchronously
, он всегда устанавливается в true.
Кто-нибудь знает, возможно ли выполнить async HttpWebRequest (без ожидания) из веб-приложения ASP.NET или он всегда преобразуется в синхронный запрос?