応答をユーザーにすばやく返し、バックグラウンドで電子メールを送信するために多くのバリエーションを試しましたが、失敗しました。これが私が試したサンプルの1つです。
ThreadPool.QueueUserWorkItem(callback =>
// It is important to put this line inside try catch otherwise it might crash the process
client.SendAsync(message, message)
);
client.SendAsyncにブレークポイントを設定すると、この行が実行されるまでresposeはユーザーに送信されません。では、応答を待たずにバックグラウンドで電子メールを送信する適切な方法は何ですか。
更新:問題が発生したと思います。実際には、ステップスルーするまでasp.netスレッド(suspend)を停止するのはVSデバッガーです。上記のコードは私のシナリオで機能します。