最好的方式来显示某些过程的进度

本文关键字:过程 显示 方式 | 更新日期: 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的评论是正确的。

    使用任务并行库在不同的线程中启动任务。在此任务中更新任务进度。
  1. 编写一个action方法,每隔几秒使用ajax轮询进度。
  2. 根据进度更新UI

你如何跟踪进度?

  1. 在数据库中创建一个任务标识符(比如一个有两列的表:一个向导和一个进度值)。
  2. 从操作方法返回任务标识符的值。
  3. 在ajax调用中发送任务标识符,这样您就可以告诉服务器给您指定任务的进度。

是的,值得重复:不要在web服务器线程中运行长时间的任务。运行一个windows服务,让它为你运行任务