Error: exception in System.Threading.ThreadAbortException:线程
本文关键字:ThreadAbortException 线程 Threading in exception Error System | 更新日期: 2023-09-27 18:12:21
下载模板时出现以下错误信息
我已经尝试代替Response.Flush();Response.End();。但是得到相同的错误。
Error: Excepiton in Download:System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.Thread.AbortInternal()
at System.Threading.Thread.Abort(Object stateInfo)
at System.Web.HttpResponse.End()
有没有办法避免上述异常
代码private void DownloadFile(string filePath, string downloadFileName)
{
Response.ContentType = "application/ms-excel";
Response.AddHeader("content-disposition", "attachment; filename=" + downloadFileName);
Response.TransmitFile(filePath);
// Response.Flush();
Response.End();
}
Thanks in advance.
在这里回答:-如何避免Response.End() "线程被中止"下载Excel文件时出现异常
替换为:
HttpContext.Current.Response.End();
With this:
HttpContext.Current.Response.Flush(); // Sends all currently buffered output to the client.
HttpContext.Current.Response.SuppressContent = true; // Gets or sets a value indicating whether to send HTTP content to the client.
HttpContext.Current.ApplicationInstance.CompleteRequest(); // Causes ASP.NET to bypass all events and filtering in the HTTP pipeline**
执行链,直接执行EndRequest事件。
并在这里回答:- ASP。. NET异常"线程被中止";导致方法退出
这是一个ThreadAbortException;这是一个特殊的例外在每个catch块结束时自动重新抛出,除非调用Thread.ResetAbort () .
asp.net方法,如响应。结束或响应。重定向(除非你(传递false)抛出此异常以结束当前的处理页面;你的someFunctionCall()可能正在调用其中一个方法。
ASP .Net自己处理这个异常并调用ResetAbort来继续进行处理。