c# - 异步 Controller (MVC),具有 "stops"的长时间运行进程

标签 c# asp.net .net asp.net-mvc-3

我对运行较长的流程很感兴趣,我想在结果开始出现时立即更新 UI,而不是等待它完成。

我该怎么做?我读过有关异步 Controller 的信息,但它们似乎没有为此目的内置任何内容。

只是在结果进入时将结果保存在 Application/Session 对象中并从客户端使用轮询?我可以想到几种可能出错的方法(比如用户关闭页面,并且对象永远保留在 Application 对象中 - 需要自己管理这些对象的过期,轮询的额外服务器负载等)。

有什么想法吗?

谢谢

最佳答案

我最近试图解决类似的问题(将长时间运行的服务器操作的实时进度报告给客户端),结果是 SignalR非常适合这种情况。

基本上它是一个包装长轮询和 Web 套接字的库,使用(透明地)服务器和客户端上可用的任何内容。

到目前为止,我只有很好的经验。

关于c# - 异步 Controller (MVC),具有 "stops"的长时间运行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8020204/

相关文章:

c# - 异常堆栈跟踪丢失的项目

c# - Textblock DataTriggers 未触发

javascript - 如何将使用 javascript 和 ASP.NET 生成的字段中的数据发送到 Microsoft SQL?

c# - 动态数据绑定(bind)到转发器或 Datalist 控件,按列

asp.net - Sitecore Analytics 重定向多站点解决方案

c# - 我怎样才能让一个禁用的控件重新启用使用 Javascript

c# - 属性和字段之间的语义差异及其含义

c# - 无法在 SQL c# 中更新表

c# - 有没有办法使用 Dapper 将每一行检索为 IDictionary<string, string> ?

c# - OrderedDictionary 的复杂性是什么?