2016-02-18 28 views
0

我有我的控制器中的操作方法,繼續重定向回自己,直到某些過程完成。就像這樣:ASP MVC RedirectToAction直到異步過程完成

 public async Task<ActionResult> Index(string id) 
     { 
      var result = await GetAsyncData(id); 
      if(!result.processed) 
      { 
      return RedirectToAction("Index","Controller", new {id=id}); 
      } 

     } 

一切正常,只要result.processed是真實的重定向將不再出現。我唯一關心的是資源處理。即使用戶關閉瀏覽器,如果result.processed始終爲false,該代碼是否仍會執行?

+0

爲什麼要編寫一個異步重定向循環,這有效地與編寫非異步函數相同? –

回答

0

如果它總是假,你最終會得到一個Error 310 (net::ERR_TOO_MANY_REDIRECTS)。請注意,如果您的GetAsyncData持續時間過長,也會發生這種情況。我也不明白爲什麼你會寫一個async方法,在重定向的同時等待它的完成。

相關問題