跟踪API调用的进度

时间:2016-02-05 09:56:29

标签: c# angularjs progress-bar

我有一个C#-Api-Function需要几分钟才能执行,我想向用户报告进度(如果他留在页面上)。

网站使用angularjs运行。

我可以启动c#-function asynch但是如何重复报告我的进度而不只是一次?

1 个答案:

答案 0 :(得分:0)

有许多方法可以给猫皮肤,但需要考虑的一个方法:

在长时间运行的方法中,将进度记录到数据库(如果你感觉很顽皮,则记录静态变量)。然后有另一个API处理程序,它将查询数据库的进度并返回它。在客户端,设置一个计时器,用于查询进度处理程序,并更新模型。

此外,您不应该拥有在Web API中返回需要很长时间的方法。考虑将逻辑移动到Windows服务,或者至少使请求处理程序异步。