最好的方式来显示某些过程的进度
本文关键字:过程 显示 方式 | 更新日期: 2023-09-27 18:15:16
我不知道怎么做,但我认为这是可能的。我想做的是向我的视图显示一些进程(循环)的进度。
我正在使用c# ASP。净MVC3/剃刀
代码示例:
public ActionResult Index()
{
for (int i = 0; i < 100; i++)
{
System.Threading.Thread.Sleep(100); // Simulate...
}
return View();
}
在我看来,我只想让简单的文本,如44/100
。
这是可能的吗?如果是,那么实现这一目标的最佳方法是什么?
BNL的评论是正确的。
- 使用任务并行库在不同的线程中启动任务。在此任务中更新任务进度。
- 编写一个action方法,每隔几秒使用ajax轮询进度。
- 根据进度更新UI
你如何跟踪进度?
- 在数据库中创建一个任务标识符(比如一个有两列的表:一个向导和一个进度值)。
- 从操作方法返回任务标识符的值。
- 在ajax调用中发送任务标识符,这样您就可以告诉服务器给您指定任务的进度。
是的,值得重复:不要在web服务器线程中运行长时间的任务。运行一个windows服务,让它为你运行任务