Обратный вызов асинхронного контроллера ASP.NET MVC 4

Я просто использую новые функции асинхронного контроллера в MVC 4, как описано здесь http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4

. Если у меня есть действие, выполнение которого может занять 10 -20 секунд, я хотел бы предоставить какую-то строку состояния, чтобы уведомлять пользователя о ходе выполнения. Есть ли что-нибудь, что может помочь в этом функциям Async?

РЕДАКТИРОВАТЬ :Я попытаюсь сделать это и посмотрю, есть ли лучшие способы

public async Task GizmosAsync()
{
    return View("Gizmos", await GetGizmosAsync());
}

private void GetGizmosAsync()
{
    for(int i=0; i<10; i++) 
    {
        lock(_locker) 
        {
           _statusMessage = String.Format("{0} of 10", i);
        }  
        DoSomethingLongRunning();
    }
}

public ActionResult Status()
{
   return Json(new { Status = _statusMessage });
}

static readonly object _locker = new object();

static string _statusMessage = "";

....


8
задан Craig 5 July 2012 в 04:57
поделиться