使用-时有什么方法可以从Page_Load
(或任何其他 ASP.NET 事件)重定向?当然会抛出,但即使我抓住它-它最终会出现错误页面。如果我调用它不会崩溃,但我需要停止执行页面(渲染页面等),所以这不是解决方案。正如我注意到这两种方法的作用不同:async
await
Redirect
ThreadAbortException
try
catch
Response("url", false)
这以 ThreadAbortException 结束(我假设任务同步结束):
protected async void Page_Load()
{
await Task.Run(() => { });
Response.Redirect("http://www.google.com/");
}
这个在 Response.Redirect 之后继续:
protected async void Page_Load()
{
await Task.Delay(1000);
Response.Redirect("http://www.google.com/");
}
我必须等待响应,但我正在试验,即使我删除了await
关键字(所以任务在后台运行并且方法继续)它最终还是一样。唯一有帮助的是删除async
关键字 - 我认为async
只有启用await
,仅此而已?!