今天用Response.Redirect(string url)重定向时,生产环境总是报ThreadAbortException异常,而调试时没问题。在网上查了很久,都是一样的解决方案,写的貌似很详细,实际不清不楚,解决不了问题。
实际上微软官方的文档已经给了解决方案,只是写的不是很详细,但确实解决了我的问题。
先看报错的代码:
Response.Redirect("xxx.aspx");
再看报错:
System.Threading.ThreadAbortException: 正在中止线程。
在 System.Threading.Thread.AbortInternal()
在 System.Threading.Thread.Abort(Object stateInfo)
在 System.Web.HttpResponse.AbortCurrentThread()
在 System.Web.HttpResponse.End()
在 System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent)
在 System.Web.HttpResponse.Redirect(String url)
在 WebYKT.Web.DingTalkLogin.Page_Load(Object sender, EventArgs e) 位置 E:\xxx.aspx.cs:行号 231
然后看下微软的文档怎么说的:
这里有2点需要注意:
- 使用 HttpResponse.Redirect(String, Boolean) 重载并传递 false endResponse 参数;
- 调用 CompleteRequest 方法;
修改后的最终代码:
Response.Redirect("http://xxx.xxx.xxx.xxx/xxx.aspx", false);
Context.ApplicationInstance.CompleteRequest();
今天用Response.Redirect(string url)重定向时,生产环境总是报ThreadAbortException异常,而调试时没问题。在网上查了很久,都是一样的解决方案,写的貌似很详细,实际不清不楚,解决不了问题。实际上微软官方的文档已经给了解决方案,只是写的不是很详细,但确实解决了我的问题。先看报错的代码:Response.Redirect("xxx.aspx");再看报错:System.Threading.ThreadAbortException: 正在中止线程。 .
如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。这种行为是设计导致的。
Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的Application_EndRequest 事件。不执行 Resp...
1 //开启一个子线程,子线程调用方法 Method
2 Thread th = new Thread(Method);
3 th.IsBackground = true;
4 th.Start();
2.线程处...
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.Thread.AbortInternal()
at System.Threading.Thread.Abort(Object stateInfo)
at System.Web.HttpResponse...
Response.End,调用 HttpContext.Current.ApplicationInstance.completeRequest 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行。
对于 Response.Redirect,请使用重载 Response.Redirect(String url, bool endRespon
【react-native】0.57版本打包报错:Could not resolve all files for configuration ':app:releaseCompileClasspath
17370