try里Response.end()问题

问题

在xxx.aspx.cs中处理异步请求,大致代码如下:

但会发现始终会进catch。

原因

Response.End()会引发ThreadAbortException。

解决方案

使用HttpContext.Current.ApplicationInstance.CompleteRequest();代替

参考

官方文档:https://msdn.microsoft.com/zh-cn/library/system.web.httpresponse.end.aspx

博客园:https://q.cnblogs.com/q/31506/

stackoverflow:http://stackoverflow.com/questions/20988445/how-to-avoid-response-end-thread-was-being-aborted-exception-during-the-exce

时间: 2024-08-27 06:59:37

try里Response.end()问题的相关文章

JavaWeb之Servlet: ServletConfig 与 ServletContext

读取的html路径问题 有这样的一种情况,myeclipse有一个工作区域,我们在上面编写自己的web应用,编写完后,要把这个应用部署在服务器上,然后通过浏览器访问服务器上的那个应用. 假如这个web应用读取了某个html文件,这个html文件我在myeclipse的文件列表直接创建的,创建目录如图: 这个html文件位于WebRoot目录下.然后我们观看一下它的属性里的绝对路径: 可以看到,这个路径是位于我们myeclipse工作区域里的.那么问题来了,当我们的web应用部署到服务器上去了,这

吐血贡献——centos6.5 64位静默安装oracle 10G R2

操作系统:CentOS release 6.5 (Final) 64位 oracle版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit 一.下载必须安装包: # yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc g

.net学习笔记----会话状态Session

一.会话状态Session Session用于服务器端状态管理,使用Session之后,每个客户端都可以将实际的数据保存在服务器上,对于每个客户端的数据,将会生成一个对应的唯一的key(保存在客户端).客户端与服务器端就是通过这个key来确认客户端的身份,通常这个key为SessionID. 一般情况下,SessionID以Cookie的形式保存在浏览器中,在不使用Cookie的情况下,也可以将这个SessionID嵌入到访问网页的URL中. 二.服务器端Session 在页面对象或者HttpC

会话状态Session

一.会话状态Session Session用于服务器端状态管理,使用Session之后,每个客户端都可以将实际的数据保存在服务器上,对于每个客户端的数据,将会生成一个对应的唯一的key(保存在客户端).客户端与服务器端就是通过这个key来确认客户端的身份,通常这个key为SessionID. 一般情况下,SessionID以Cookie的形式保存在浏览器中,在不使用Cookie的情况下,也可以将这个SessionID嵌入到访问网页的URL中. 二.服务器端Session 在页面对象或者HttpC

【easyui】关于tabs的选项卡的href 引入页面后 js、css失效

示例: $("tabs").tabs("add",{ href:"test.html" }) test.html 只有body里的内容会被执行  如果js或css在body外则会失效 解决办法: 1.如果是内部js.css   将它们放到body内即可 2.如果是外部js.css   将他们在主页面引用即可 3.写一个servlet,在servlet里response.sendRedirect("test.html") [附]

web输出图片

1.已存在图片 WriteFile string pathimg = AppDomain.CurrentDomain.BaseDirectory + "images\\20170424081926.png"; Response.ContentType = "image/png"; Response.WriteFile(pathimg); 2.已存在图片转成字节输出 using (FileStream fs = new FileStream(pathimg, File

jsonp 跨域请求

在做一个ajax跨域请求webservice的实例 请求成功 状态为200 success 却不执行success方法一直执行error方法 解决方法是在webservice方法里response中加上回调函数 即 string callbackFunName = context.Request["callbackparam"];    context.Response.Write(callbackFunName + "(\"value\")")

使用页面不缓存的方法

使用户退出系统时不能通过"后退"按钮重新返回使用页面不缓存的方法:页面上<meta http-equiv='Expires' content='0'> <meta http-equiv='Pragma' content='no-cache'> <meta http-equiv='Cache-Control' content='no-cache'> Servlet类里response.setHeader("Cache-Control"

ajax 传值,Ajax: Asynchoronous Javascript and xml (异步的js和xml). 异步刷新,异步传递.替代表单提交数据,回调函数处理返回的数据

aspx里的代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="s