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.

Error: exception in System.Threading.ThreadAbortException:线程

在这里回答:-如何避免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来继续进行处理。