我目前正在开发的 WCF 服务中有一个方法,我想在将结果返回给用户后做一些工作。
该服务的用户正在发送我们存储在数据库中的“项目”,然后通过调用其他服务和其他可能需要大量时间(几分钟)的东西来处理。问题是用户真的只需要知道项目的数据库ID。
所以我不希望用户等待所有这些事情都完成。在我这样返回之前启动 System.Threading.Tasks.Task 来执行这样的繁重工作是否是一个合理的解决方案:
int id = InsertIntoDB(item);
Task.Factory.StartNew(() => HeavyProcessing());
return id;