次の方法で受信メッセージを処理する WCF サービスがあります。
public bool ProcessMessage(string message)
{
var returnValue = GetReturnValue();
Task.Run(() => {
//do some things with the message
UpdateDatabase();
SendRepliesOverNetwork();
});
return returnValue;
}
できるだけ多くのメッセージを処理するために、ここにタスクを追加しました。returnValue をできるだけ早く呼び出し元に返し、Task に任せたいと考えています。
私の質問: 待機可能な非同期データベース呼び出しを使用したり、ネットワーク経由で応答に非同期メソッドを使用したりする利点はありますか?
これによりコンテキストの切り替えが多すぎる可能性があると思うので、私は用心しています。負荷がかかった状態で 100 以上のスレッドを使用するアプリを既に確認しています。