我使用TPL来完成长时间运行的过程,比如在我的asp.net应用程序中生成100000个PDF。代码如下:
private Task<ErrorList> GeneratePDF()
{
return Task.Factory.StartNew(
--pdf generation goes here....
)
}
有人能帮我做以下动作吗:
- 我想告诉UI到目前为止已经生成了多少PDF
- 一旦过程完成,我想显示一个弹出页面与PDF生成的所有细节。我找不到写回调的方法
我认为您最好使用一种架构来轮询您的网页/服务的进度和状态
如何:提交和轮询长期运行的任务是一个起点。
另一个例子是:使用Ajax进度条在ASP.NETMVC中进行异步处理
有关TPL相关的回调/进度报告,请参阅:异步任务的报告进度