调用Response.Redirect 捕获异常 解决办法(摘抄)

如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。
Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件。不执行 Response.End 后面的代码行。
此问题出现在 Response.Redirect 和 Server.Transfer 方法中,因为这两种方法均在内部调用 Response.End。
解决方案 :
要解决此问题,请使用下列方法之一:
• 对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行。
• 对于 Response.Redirect,请使用重载 Response.Redirect(String url, bool endResponse),该重载对 endResponse 参数传递 false 以取消对 Response.End 的内部调用。例如:
Response.Redirect ("nextpage.aspx", false);

时间: 2024-08-05 07:51:20

调用Response.Redirect 捕获异常 解决办法(摘抄)的相关文章

andriod 4.0以上版本不调用onConfigrationChange方法的解决办法

我们首先看看Android4.0以前版本是如何调用onConfigrationChange方法的: 1. 首先在manifest.xml文件里面添加权限:<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/> 2. 然后在manifest.xml文件中activity配置属性:android:configChanges="orientation|keyboardHidden

Qt跨线程调用错误解析及解决办法

错误提示:Error: Cannot create children for a parent that is in a different thread. 错误案例分析 新建SerialLink子线程,继承QThread,并重写它的run(),调用 start()函数时自动调用重载的run()函数.在主线程中创建SerialLink类的对象. 串口_port在SerialLink的头文件中定义,在_hardwareConnect()函数中初始化.在_connect()函数中调用start()函

Android的HttpClient调用,冲突的解决办法

只适用部分情况 题外话 攻关百度自动发贴作推广失败,但登录已拿下.全扔有点浪费. 在登录的基础上写了个百度的自动签到系统,功能已实现(.net+nodejs) 用nodejs是我没摸清楚百度的RSA加密算法,索性就直接把百度的RSA加密移到nodejs了(都是JS). 成功后又想了想,可以把.net实现迁移到JAVA,写个安卓百度签到的APP的应用,练练手复习安卓,顺带看能不能赚点广告费. 迁到JAVA的过程非常顺利,但是到Android就进了几个坑. .NET 获取token代码 ,用微软给的

Response.Write 乱码解决办法

Response.Write 之前加上下面两句话 HttpContext.Current.Response.ContentType = "text/html;charset=utf-8";            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); //设置输出流为简体中文

关于springmvc时request的getReader()和getInputStream()只能调用一次的解决办法

最近准备在原有的SSM项目的基础上添加完善的日志分析,由于是APP的后台系统,之前在规划APP的时候,并没有在APP上做埋点的处理,而如果想要进行埋点处理的话,对于未能新升级的APP用户来说,就是去了意义,因为只要用户不升级,埋点就不能在他的APP中运行.所以,就考虑到了在后台的入口增加日志的监控. 想法总是简单,但是在实际实现的过程中却还是遇到了问题.由于APP基本都采用公参的加密校验,然后采用POST请求传递JSON数据.对于一般的请求分析,比如每个时间段的访问量,或者每个方法每个某块的统计

vue mounted 调用两次的解决办法

在开发中发现其中一个页面moutned调用了两次,而其他页面正常,表示很懵逼,然后查找原因,终于找到了,其实归根到底是要知道mounted的调用机制问题: 情况:在这个页面中出现了mounted 加载了两次的情况: 方法:排除法 首先把 this.$store.commit() 方法注释掉,发现就好了,只加载一次 初步判断是commit  方法导致的 二  验证判断是否正确,不使用commit 方法,该用直接改变变量状态的方法,发现又加载了两次: 再次判断,不是由于commit引起的 三   猜

关于ubuntu中文输入调用不出来的解决办法,具体如正文。

卸载了 fcitx sudo apt-get remove fcitx 重启 sudo reboot 重新安装 fcitxsudo apt-get isntall fcitx 安装拼音输入法sudo apt-get install fcitx-pinyin 重启

jframe 对象(GroupedAction)传递无法调用对象的方法解决办法

Display.getDefault().syncExec(new Runnable() { public void run() { pmtsStreamViewsAction.refreshPerspective( viewId, w); } });

Response.Redirect 产生的“正在中止线程”错误

Response.Redirect 产生的“正在中止线程”错误 今天在开发调试过程中,出现在一个 "正在中止线程"异常信息. 调用Response.Redirect()方法产生的,虽然知道是线程的问题, 但是不知为何 Redirect会出现这样的错误,以前是没有碰到过, 在狂baidu,Google了一下后,才发现MS早就解决了这个问题,但提供了解决方法. 异常 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 T