【问题标题】:Request timeout error while processing long running task处理长时间运行的任务时请求超时错误
【发布时间】:2012-08-09 21:12:58
【问题描述】:

我正在我的 ASP.NET 站点中处理和打印 1000 条记录。当我单击提交按钮时,页面会加载一段时间并转到请求超时错误。我试图增加请求超时,但这看起来不是一个好的解决方案。请提出最佳解决方案。

另外,在处理请求时如何更新 UI。我需要显示到目前为止已经处理了多少条记录。

创建一个新线程怎么样? ASP.NET 中的多线程有哪些缺陷?

【问题讨论】:

  • 您的解决方案是否适合分页?用户希望一次查看 1000 条记录是不寻常的。
  • 我只需要以数字而不是记录的形式显示已处理的数量。例如,已处理 1000 条记录中的 12 条。

标签: c# asp.net


【解决方案1】:

您可以利用 SignalR 在服务器和客户端之间创建双向通信通道,该通道将根据需要处理和反馈 SignalR 可以在 NuGet 上的 http://nuget.org/packages/SignalR 找到。

【讨论】:

  • 太棒了——我只见过 SignalR 用于“聊天”——但现在它的用法真的更有意义了。谢谢。
  • 我们不能用 AJAX 做点什么吗?
  • 也许,但可能没有我想的那么容易,据我所知,SignalR 是专门为这种类型的场景创建的,因为其他技术更复杂或不那么强大。
  • SignalR 绝对是一个很好的解决方案。通过在客户端和服务器之间建立双向连接,服务器可以在任务完成后向客户端发出响应。
  • 感谢 N. Taylor Mullen 的支持 - 投票以显示额外的支持!
猜你喜欢
  • 1970-01-01
  • 2010-10-06
  • 2012-04-10
  • 1970-01-01
  • 2020-08-27
  • 2012-08-20
  • 2017-02-06
  • 1970-01-01
  • 2012-08-01
相关资源
最近更新 更多