在MVC 4中长时间运行

时间:2015-01-08 06:32:22

标签: asp.net-mvc asp.net-mvc-4 asynchronous

我正在尝试了解执行以下任务的正确方法。

用户输入后我有一个很长的操作(数据库插入大约10000行)。 我需要向用户返回一些View,它会说他的工作正在进行中,不需要显示进度或其他内容,但我无法为用户冻结ui。

public class AuthController : SurfaceController
    {
        public ActionResult LongOpeartion(UserInput model)
          {
              // Long async operation goes here 
              return View();
          }

    }

任何人都可以建议正确的方法来触发异步任务,或者其他什么。  感谢。

2 个答案:

答案 0 :(得分:1)

由于您无法使用ajax并想立即回复,我认为这是合适的。

public class AuthController : SurfaceController
{
    public ActionResult LongOpeartion(UserInput model)
      {
         Task t = Task.Run( () => {
             // Long async operation goes here 
          } );

          return View();
      }

}

答案 1 :(得分:1)

我认为异步控制器会在这方面帮助你,

请查看以下链接,

Asynchronous Controller in MVC