ASP.net MVC 异步执行

3
有没有一种方法可以让控制器先向用户返回一些内容,然后再执行另一个方法?
我有一个非常耗时的过程。我想先向用户发送一个快速的JSON响应,然后再进行处理。
2个回答

5
在这种情况下,您可能希望考虑在工作线程上执行持续任务。MVC循环必须完成以便将响应返回给调用方。请注意,后台线程将无法访问请求上下文,因此您必须捕获任何所需的内容。还要注意,一旦http上下文已退出,就无法向调用方返回任何内容-您需要调用方回调以获取任何额外数据。

有人知道在哪里可以找到这方面的例子吗?谢谢。我不确定如何启动一个工作线程。 - Jason
请查看C#4.0任务类:http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx - Fabian Nicollier
@Marc 在 Web 应用程序中使用它安全吗? - Jason
@Jason - 当然可以!只是不要使它过度饱和。如果你的任务需要花费过长时间,最好使用带有队列的自定义线程。 - Marc Gravell


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接