我们有一个 WCF 服务,它以下列方式处理传入消息:
public bool ProcessMessage(string message)
{
var returnValue = GetReturnValue();
Task.Run(() => {
//do some things with the message
UpdateDatabase();
SendRepliesOverNetwork();
});
return returnValue;
}
为了处理尽可能多的消息,我们在此处添加了任务。我们希望尽快将 returnValue 返回给调用者,让 Task 完成它的工作。
我的问题:使用等待的异步数据库调用和/或使用异步方法通过网络进行回复有什么好处吗?
我很谨慎,因为我认为这可能会造成过多的上下文切换。我们已经看到该应用程序在负载下使用了 100 多个线程。