WebAPI是否有任何内置支持来启动某些工作并通过确认立即返回给调用者。我正在寻找一个数据处理服务器,它有一些需要运行的长时间运行的进程。客户端永远不会期待结果,并且可以稍后查询。
在这种情况下,我正在寻找一种方法,以一种不会阻止控制器返回的方式开启一些工作。
答案 0 :(得分:3)
WebAPI中没有任何内容可以阻止您开始一些后台工作并立即返回。所以你可以实现这样的行动:
public HttpResponseMessage Post()
{
Task.Factory.StartNew(() => DoWork());
return new HttpResponseMessage(HttpStatusCode.Accepted);
}
这只是一个简单的示例,但您可能希望在某种字典中跟踪任务,因此您可以在客户端稍后查询结果时返回结果。