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サーバのリソースを取り込まないようにします。通常は、可能な限り多くの要求を処理するために非常にスケーラブルであることが必要です。あなたがこれを達成できる方法の1つは、電子メールデータをサービスバスキューに投げ込み、次にワーカーサーバがキューから離れてできるだけ処理してくれるようにすることです。これにより、即座にAPIから応答することができます。 –
素晴らしい、非常に有用なアドバイスおかげでみんな! – Baconbeastnz