我的控制器中有一个Action方法,它继续重定向回自身,直到某个进程完成。很像这样:
public async Task<ActionResult> Index(string id)
{
var result = await GetAsyncData(id);
if(!result.processed)
{
return RedirectToAction("Index","Controller", new {id=id});
}
}
一切按预期工作,只要result.processed为true,重定向就不再发生。我唯一关心的是资源处理。如果result.processed始终为false,即使用户关闭浏览器,此代码是否会继续执行。
答案 0 :(得分:0)
如果它总是假的,你最终会得到一个Error 310 (net::ERR_TOO_MANY_REDIRECTS)
。请注意,如果GetAsyncData
持续时间过长,也可能会发生这种情况。我也不明白为什么你会写一个async
方法,在重定向时等待它完成。