2013-09-13 2 views
2
public async Task<ActionResult> IndexAsync() 
     { 
      ShowUploadFiles objFiles = new Helpers.ShowUploadFiles(); 
      ShowComments objComments = new Helpers.ShowComments(); 
      TempData["FileUploaded"] = await objFiles.ShowUploadeFiles(); 
      return View("Index", await objComments.GetListofCommentsfromTable()); 
     } 

Пытается реализовать Async в моем контроллере. Мне нужно вызвать ShowUploadFiles(), который должен быть сохранен в Tempdata и GetListofCommentsfromTable() для вызова и передачи его как модели.Async в контроллере MVC, несколько ожидающих Мне нужно

Как я могу использовать async для обоих, поскольку Tempdata и Model должны загружаться независимо.

ли я обновлять, как

public async Task<List<BlobModel>> ShowUploadeFilesAsync() 
     { 
      //Some operation 
      return await (List<BlobModel>); 

     } 

ответ

3

Вы можете сделать это следующим образом:

public async Task<ActionResult> IndexAsync() 
{ 
    ShowUploadFiles objFiles = new Helpers.ShowUploadFiles(); 
    var showUploadeFilesTask = objFiles.ShowUploadeFiles(); 

    ShowComments objComments = new Helpers.ShowComments(); 
    var getListofCommentsfromTableTask = objComments.GetListofCommentsfromTable(); 

    await Task.WhenAll(showUploadeFilesTask, getListofCommentsfromTableTask); 

    TempData["FileUploaded"] = showUploadeFilesTask.Result; 
    return View("Index", getListofCommentsfromTableTask.Result); 
} 
Смежные вопросы