Мне нужно реализовать базовый механизм обратного вызова в веб-API, где я немедленно возвращаю некоторый статус ответа (например, обрабатывает сообщение ...) пользователю на пост-запрос, и после этого он вызывает другой сторонний API, а после завершения этогоcall, перенаправить пользователя на callbackurl (что-то похожее на обработчик платежей) с конечным результатом thcall (со статусом - done и timestamp).Затем он немедленно вернет HTTP-ответ вызывающей стороне.После этого он будет использовать сторонний сторонний API для выполнения некоторой работы с объектом.Как только эта работа завершена, контроллер должен опубликовать результаты этой работы в CallbackURL.
Я знаю, как сделать это индивидуально, но как мы можем достичь этой функциональности вместе в WebAPI?
Я предполагаю, что мы, вероятно, сможем вернуть ответ и запустить новый поток для обработки сторонних вызовов по аналогии:
'main thread returns data
Return "Starting processing of data...."
Await Task.Factory.StartNew(Function()
Using client = New HttpClient()
'Make http call here and do a possible redirect
End Using
End Function)
Правильн ли этот подход, и если да, может кто-нибудь предложить пример кода о том, каксделать это правильно?
Я открыт и для других предложений.