1

我有一个 VS 2013 Lightswitch HTML 客户端应用程序,我在其中添加了一个按钮,用于发布 Web API REST 帖子。这基本上从原始上游源“刷新”表中的数据。这一切正常,但操作需要几分钟,我想在运行时向用户报告状态。

现在,我尝试在帖子返回时附加一个简单的刷新,如下所示:

 $.post("/api/data/", "Refresh", function (response) {
        screen.getData().then(function (newData) { screen.reQuery(); });
    });

这实际上似乎并没有进行刷新(screen.reQuery 显然是错误的调用),但更好的选择是让服务器显示这个长时间运行的应用程序的进度。

我的一个想法是让服务器调用在响应中以“完成百分比”的形式返回数据,因为它处理它,但我不知道这是否会零碎地传递给客户端,也不是最好的方法在 Lightswitch 中向用户显示。

我对其他可能对此有所帮助的第三方库持开放态度,但如果可能的话,我想坚持使用 WebAPI 进行命令,而不是现在添加像 SignalR 这样的东西。谢谢!

4

1 回答 1

-2

一般来说,这似乎不是在服务器上运行需要几分钟的操作的最佳主意。

一个合理的替代方法是创建一个调用,然后创建多个 Web 作业(有关更多信息,请参阅 Azure Web 作业)。Web 作业将被分解为更小的单个任务,并且您的 html 将查询 Web 作业而不是您的 Web API。

于 2014-05-14T05:14:17.610 回答