aspx页面使用ajax遇到try catch中使用Response.End()报错
2024-08-26 23:03:06
1、使用Ajax接收数据,在返回Response.Write()后应该调用Response.End()才能将数据写入到调用的页面,才能被jQuery的回调函数获取到返回的JSON数据
2、在try--catch里面不能用Response.End(),否则会报错:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
在调用Response.End()时,会执行Thread.CurrentThread.Abort()操作。
如果将Response.End()放在try...catch中,catch会捕捉Thread.CurrentThread.Abort()产生的异常System.Threading.ThreadAbortException。
解决方法(任选一个):
1. 在catch中排除ThreadAbortException异常,示例代码如下:
try
{
Response.End();
}
catch (System.Threading.ThreadAbortException)
{
}
catch (Exception ex)
{
Response.Write(ex);
}
2. 用Context.ApplicationInstance.CompleteRequest()结束当前请求,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
try
{
Response.Write("Hello world!");
this.Page.Visible = false;
Context.ApplicationInstance.CompleteRequest();
}
catch (Exception ex)
{
Response.Write(ex);
}
}
最新文章
- JAVA安全模型
- ArcGIS API for Silverlight 使用GeometryService求解线与线的交点
- sql特殊语句
- Activiti开启SQL Log
- 关于java 中文乱码问题 自己的一点解决方案
- POJ 1961 Period( KMP )*
- crontab报错
- [Bug FIX]安装 account_check_writing模块后采购收据打印报错的问题
- 20160123.CCPP详解体系(0002天)
- 编译kernel:make Image uImage与zImage的区别
- asp.net出现正在中止线程解决方案
- Android 联网监控抓包工具的制作(tcpdump的使用)
- Nginx + Apache 反向代理
- Vim进阶命令
- 多线程面试题系列(6):经典线程同步 事件Event
- python基础 列表 的使用
- 如何启用Oracle EBS Form监控
- Python Day-1 练习
- js gettext
- Solidworks直接打开SWB文件报错怎么办
热门文章
- python---初始sqlite3
- 不同路径(一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径?)
- Python之抽象类、抽象方法
- 工作记录之 [ python请求url ] v s [ java请求url ]
- 从零搭建 ES 搜索服务(三)同义词搜索
- 使用pdfBox实现pdf转图片,解决中文方块乱码等问题
- log4j平稳升级到log4j2
- ctf study of jarvisoj reverse
- React Native 打包 Apk
- 【C#】Convert.ToInt32、(int)和int.Parse三者的区别