C# 错误:System.Threading.ThreadAbortException中的异常异常异常:正在中止线程

C# 错误:System.Threading.ThreadAbortException中的异常异常异常:正在中止线程,c#,asp.net,multithreading,C#,Asp.net,Multithreading,下载模板时,我收到以下错误消息 我已尝试而不是响应。刷新();使用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 Sys

下载模板时,我收到以下错误消息

我已尝试而不是响应。刷新();使用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()
有没有办法避免上述例外情况

代码

提前感谢。

如此处所述:

替换此:
HttpContext.Current.Response.End()

为此:

执行链,并直接执行EndRequest事件

他回答说:

这是一个线程异常;这是一个特殊的例外 在每个捕捉块结束时自动重新抓取,除非 调用Thread.ResetAbort()

ASP.Net方法,如Response.End或Response.Redirect(除非 pass false)抛出此异常以结束当前 页您的someFunctionCall()可能正在调用其中一个 方法

ASP.Net本身处理此异常并调用ResetAbort以 继续处理

现答覆如下:

替换此:
HttpContext.Current.Response.End()

为此:

执行链,并直接执行EndRequest事件

他回答说:

这是一个线程异常;这是一个特殊的例外 在每个捕捉块结束时自动重新抓取,除非 调用Thread.ResetAbort()

ASP.Net方法,如Response.End或Response.Redirect(除非 pass false)抛出此异常以结束当前 页您的someFunctionCall()可能正在调用其中一个 方法

ASP.Net本身处理此异常并调用ResetAbort以 继续处理


可能是重复的,这就是
Response.End所做的。如果这不是您想要的,那么您可能必须检查应用程序的设计-很可能,您在请求结构中做了一些严重的“意大利面”。可能是重复的,这就是
响应。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();
}
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**