0
電子郵件發送時間過長(有時高達7-8)秒。WebApi如何在返回用戶響應後發送異步電子郵件?
我想發送迴應給我的客戶,而不必等待電子郵件發送。這可能嗎?
public async Task<IHttpActionResult> Action()
{
//Do something
await email.sendAsync(); //Can take up to 10 seconds...
return Ok();
}
我可以刪除的await,但我顯然得到了An asynchronous module or handler completed while an asynchronous operation was still pending
我怎樣才能做到這一點?
這是正確的建議。要擴展,通常不希望通過在後臺線程上工作來佔用Web服務器資源。通常,您希望它們能夠非常靈活地處理儘可能多的請求。一種方法是將電子郵件數據放入服務總線隊列中,然後讓工作服務器將隊列中的東西從隊列中彈出並儘可能進行處理。這樣您就可以立即響應您的API。 –
真棒,非常有益的建議謝謝你們! – Baconbeastnz