![](/img/trans.png)
[英]ASP.NET Core Web API - How to Consume 3rd party API Based on Condition
[英]How to process multiple 3rd party APIs without waiting for their response in ASP.NET API
假設我有添加訂單 API,如果訂單保存成功,我需要調用 3 個 API。 我想在訂單處理完成后立即返回響應,而不用等待 3 個 API 完成。
例如:
var result = ProcessOrder(parameters);
if (result.IsSuccess)
{
await SendSMSAsync(smsDetails); //All 3 APIs includes calling the API, saving status to database & log
await SendEmailAsync(emailDetails);
await ThirdPartyAsync(moreDetails);
}
return result; //I want to return this without waiting for the above 3 APIs to finish
另外,我想再次自動呼叫任何失敗的 API。 實現這一目標的最佳方法是什么?
不要等待,而是創建一個任務並調用 Task.Run。 這將在不等待任務返回的情況下運行。
我通過使用.ConfigureAwait(false)
實現了這一點。 例如:
if (result.IsSuccess)
{
SendSMSAsync(smsDetails).ConfigureAwait(false);
SendEmailAsync(emailDetails).ConfigureAwait(false);
ThirdPartyAsync(moreDetails).ConfigureAwait(false);
}
更多信息可以在這里找到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.