【问题标题】:C# Web API Controller, Context Based Progess ReportingC# Web API 控制器,基于上下文的进度报告
【发布时间】:2014-08-19 10:08:02
【问题描述】:

我有一个应用程序,它通过 ajax 将 xml 上传到服务器,并根据 xml 数据中存在的 conn 字符串进行一些处理,如解析、模式验证、连接到数据库。这些验证、连接和数据提取正在在控制器的相同功能中完成。我想更新我的查看器已经完成的步骤。由于我无法返回该函数,因此我创建了一个文件,其中给定函数将写入更新,并且通过同一控制器的不同函数进行的另一个 ajax 调用将读取该文件并将其显示在页面上。这工作正常,除了如果我从两个浏览器连接到应用程序,则信息会重叠。您还能建议什么其他选择?

【问题讨论】:

    标签: c# ajax asp.net-web-api


    【解决方案1】:

    您使用的是 dotnet 4.5 吗?您是否可以在控制器操作的各个点使用 SignalR 将进度消息发送回浏览器?

    您还应该考虑使用异步方法

    【讨论】:

    • 感谢您的回复。我正在使用.net 4.5。我会调查 signalR 。对于异步方法,请您详细解释或提供阅读来源。
    • 当然,asp.net 的官方文章涵盖了大部分内容。 asp.net/mvc/tutorials/mvc-4/…。本质上,在进行大量计算时,使用异步方法比阻塞同步方法更可取,因为它是非阻塞的。
    • 我忘了说,如果你使用了 SignalR,你可以将一个连接的客户端的进度报告给所有其他连接的客户端。不过,您必须为此启用 Javascript。
    猜你喜欢
    • 2015-02-21
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2014-12-21
    相关资源
    最近更新 更多