问题标签 [threadabortexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1916 浏览

.net - .NET 框架执行在执行 CLR 存储过程时中止?

我构建了一个与 SQL Server 2008 等效的存储过程FOR XML AUTO。现在我正在测试它,它给了我一个非常无用的错误消息。这个错误是什么意思?

0 投票
2 回答
620 浏览

c# - 一个线程可以抛出多个 ThreadAbortException 吗?

我不确定这是此类问题的正确论坛,但我目前正在尝试使用内存转储查找无法在 Web 服务中重现的错误,并且我认为我有一个需要帮助的特定问题,我认为有人可能有一些输入。

使用 WinDbg 分析内存转储我在内存中发现了 aprox 75000 ThreadAbortExceptions,它们都来自这里:

它们都是在很短的时间内创建的,当时应用程序正在尝试卸载其 appdomain(IIS 正在关闭)。

我现在想不通的是怎么可能引发这么多的 ThreadAbortExceptions?如果一个线程退出,有什么方法可以引发多个?如果有人能给出任何提示,为什么会存在这么多这种类型的例外?据我所知,这个进程最多有 20 个线程,发生这种情况时,线程池本身只有一个(!)线程。

CustomThreadPool 类来自这篇文章:http: //msdn.microsoft.com/en-us/magazine/cc163851.aspx

0 投票
3 回答
1613 浏览

c# - 由于 AcceptSocket,Thread.Abort 似乎没有抛出 ThreadAbortException

我正在调用ChannelServer.ListeningThread.Abort以下线程,但似乎没有任何反应。我想更具体一些,但我想不出更多。似乎没有ThreadAbortException抛出,并且无论阻塞侦听器如何都应该抛出这个异常(它在阻塞接收的线程上完美运行)。

重要编辑:使用 aManualResetEvent.WaitOne而不是AcceptSocket,正如 Lyrik 建议用于测试的那样,它可以完美运行。怎么会AcceptSocketThreadAbortException

链接:这个论坛帖子似乎讨论了同样的问题,虽然我无法弄清楚它:http ://www.tek-tips.com/viewthread.cfm?qid=319436&page=413

0 投票
1 回答
731 浏览

c# - Asp.Net Range-Specific Requests ThreadAbortException 线程被中止

我正在使用http://pastebin.com/aK0zcxMN上的课程( http://dotnetslackers.com/articles/aspnet/Range-Specific-Requests-in-ASP-NET.aspx的一个版本)来保护下载免受水蛭和提供简历。它工作正常,但我时不时地得到

我的网站是一个移动网站,周围有无数不同的移动浏览器,下载方式也各不相同。他们通常也通过运营商网关连接,所以我猜这与客户端断开连接或 wap 代理问题有关。

我想做的是如何阻止这种情况发生。我不想尝试 catc 并忽略它。我读过关于

但无法成功地将其实施到班级中。有没有人使用类似的代码来保护水蛭?

0 投票
2 回答
2231 浏览

.net - .NET - 在单向 Web 服务中使用 WebClient.Download 文件

我的 C# .NET Web 应用程序中有一个简单的单向 Web 服务。我需要从给定的 URL 下载图像并将其保存到我的服务器。

但是,每次我调用该服务时,它都能完美运行。其他时候,我在 webClient.DownloadFile 行上收到“线程被中止”异常。

我读过 WebClient 使用需要访问 HttpContext.Current 的 httpWebRequest。这是真的?如果是这样,为什么它可以每隔一段时间访问它?

我尝试在通话之前添加以下几行:

WebService 服务 = 新的 WebService();
HttpContext.Current = service.Context;

但这并没有什么不同。

我运行了 10 次服务,结果如下:

1:成功

2:异常:线程被中止。堆栈跟踪:在 System.Net.WebClient.DownloadBitsState.RetrieveBytes(Int32& bytesRetrieved) 在 System.Net.WebClient.DownloadBits(WebRequest request, Stream System.Net.WebClient.DownloadFile(Uri 地址,字符串文件名)处的 writeStream、CompletionDelegate、completionDelegate、AsyncOperation asyncOp)...

3:成功

4:异常:线程被中止。堆栈跟踪:在 System.Net.WebClient.DownloadBitsState.RetrieveBytes(Int32& bytesRetrieved) 在 System.Net.WebClient.DownloadBits(WebRequest request, Stream System.Net.WebClient.DownloadFile(Uri 地址,字符串文件名)处的 writeStream、CompletionDelegate、completionDelegate、AsyncOperation asyncOp)...

5:成功

6:异常:线程被中止。堆栈跟踪:在 System.Net.WebClient.DownloadBits(WebRequest 请求,流 writeStream,CompletionDelegate completionDelegate,AsyncOperation asyncOp)的 System.Net.WebClient.DownloadBitsState.SetResponse(WebResponse 响应)处 System.Net.WebClient.DownloadFile(Uri 地址,字符串文件名) ...

7:成功

8:异常:线程被中止。堆栈跟踪:在 System.Net.WebClient.DownloadBits(WebRequest 请求,流 writeStream,CompletionDelegate completionDelegate,AsyncOperation asyncOp)的 System.Net.WebClient.DownloadBitsState.SetResponse(WebResponse 响应)处 System.Net.WebClient.DownloadFile(Uri 地址,字符串文件名) ...

9:成功

10:异常:线程被中止。堆栈跟踪:在 System.Net.WebClient.DownloadBits(WebRequest 请求,流 writeStream,CompletionDelegate completionDelegate,AsyncOperation asyncOp)的 System.Net.WebClient.DownloadBitsState.SetResponse(WebResponse 响应)处 System.Net.WebClient.DownloadFile(Uri 地址,字符串文件名)...

有什么办法可以使这项工作?

编辑:回答有关发布代码的问题:没有太多要发布的。这一切都很简单。

0 投票
1 回答
1740 浏览

try-catch - Try-catch 中的 Server.Transfer :线程中止异常

相当于什么

当我使用 Server.Transfer 而不是 Response.Redirect 时。我使用 false 作为 Response.Redirect 的第二个参数来停止在 try catch 块中接收 ThreadAbort 异常

当我在 try catch 块中使用 Server.Transferis 时,我想摆脱 Thread.Abort 异常。有什么想法吗 ?

0 投票
5 回答
5799 浏览

c# - ASP.NET C# 线程中止异常?

我正在尝试构建一个发送我的电子邮件的小型电子邮件工作者。电子邮件工作者在自己的线程中运行。global.asax 启动线程,然后在抛出此异常之前运行一轮。我一直在试图找出它把它扔到哪里,但似乎每次都不一样。记录被打印到文本文件中以便工作,也许是处置功能?

这是抛出的异常:

在电子邮件工作者 for-loop 中开始新一轮 在电子邮件工作者 for-loop
中进入睡眠 在
mscorlib.dll 中发生“System.Threading.ThreadAbortException”类型的第一次机会异常“System.Threading.ThreadAbortException”
类型的异常发生在 mscorlib.dll 中但未在用户代码中处理

这是 EmailWorker 的代码

这是启动一切的 global.asax 文件:

0 投票
1 回答
412 浏览

asp.net-mvc - ThreadAbortException、经典 ASP 和 ASP.NET MVC 应用程序

我还收到“线程被中止”错误消息。

我知道这是一个老问题,但我不认为这是一个重定向的事情(至少在 .NET 内部没有,因为我没有 Response.Redirects - 只有 RedirectResults 会在内部调用 Response.Redirect(url, false) )* 而且我认为这也不是由于不活动而导致的回收问题。

它发生在不同的场景中,但引起我注意的是:我在一个经典的 asp 页面中调用了一个 window.open(url)。此 url 映射到 ASP.NET MVC 控制器操作**。有时当此 window.open 发生时,我会收到 ThreadAbortException。

有人可以帮助我吗?

0 投票
1 回答
722 浏览

sharepoint - 匿名访问 SharePoint 列表时出现 ThreadAbortException

在我正在使用的旧代码中,Web 服务访问 SharePoint 列表。
其中一些列表需要特殊权限,因此在首次访问时需要用户凭据。

然而,在我向应用程序添加一些日志记录后,我注意到当用户第一次尝试调用 Web 服务时,实际上会发生以下情况:

  • Web服务开始正常运行;
  • 当项目需要特殊权限时,SharePoint 会发送 HTTP 401,它会变成ThreadAbortException;
  • 向用户显示凭据框;
  • 登录后,再次调用 Web 服务,这次没有问题。

这实质上意味着 SharePoint 调用之前的代码在此方案中运行两次。
在运行任何代码之前显示凭据框的正确方法是什么?
当匿名访问是IIS应该被禁用时是这种情况吗?我怀疑是这样,但是我在配置 Web 项目方面经验不足,所以我感到困惑。

0 投票
3 回答
1745 浏览

.net - 通过 ASP.NET 网页发送大量电子邮件的最佳方法

我编写了一个联系人管理/通信系统,可以记录人员的详细信息并允许发送大量通信。

但是,有时在发送电子邮件时会引发以下异常:

System.Threading.ThreadAbortException: Thread was being aborted

通过 ASP.NET 发送大量电子邮件的最佳方式是什么?

我正在寻找一种将其全部保存在 ASP.NET 中的方法

我有一种感觉,我可能需要将电子邮件存储在数据库中,并有一个单独的 .net 控制台应用程序/Windows 服务将它们发送出去。然而,由于额外的开发开销和我没有时间,这是我想考虑的最后一个选项。