问题标签 [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 回答
1181 浏览

wpf - 重新启动应用程序时 System.Windows.Markup.WpfXamlLoader.Load 中的 System.Threading.ThreadAbortException

我创建了一个在 Windows 启动时启动的 WPF 应用程序。应用程序检查系统上的文件列表,如果缺少任何文件,则会弹出文件路径。

我面临的问题是当我在应用程序运行时重新启动系统时,重新启动我的应用程序崩溃并抛出 System.Threading.ThreadAbortException。下面是我在事件日志中得到的堆栈跟踪

这是什么问题,有没有人遇到过这个问题???

0 投票
2 回答
2578 浏览

c# - 不能等待进程运行直到结束

我在页面后面有一个 aspx 代码,它使用进程(p)调用应用程序(exe 文件),如下代码:

while 循环需要等待 2 秒,但总是抛出如下异常:

在声明中Thread.Sleep(2000)。所以任何人都可以帮助我一些解决方案。非常感谢,

0 投票
1 回答
525 浏览

multithreading - 线程中止和线程退出不工作visualstudio2008 c++

我在 c++ visualstudio2008 中使用线程,当我的表单关闭时,线程仍然保持活动状态,所以我在表单关闭时尝试了 thread::abort,但在调用线程后仍然存在。所以我把 am excption 处理程序放在线程中,当一个中止异常到达时线程退出,但线程没有进入异常处理程序。我怎样才能关闭我的线程?oThread 是一个全局对象 Thread。

0 投票
2 回答
2284 浏览

c# - 如何处理 AppDomain.Unload 和相关的 ThreadAbortException

根据 MSDN,AppDomain.Unload 会导致卸载 AppDomain 内的所有线程抛出线程中止异常。

域中的线程使用 Abort 方法终止,该方法在线程中引发 ThreadAbortException。尽管线程应该立即终止,但它可以在 finally 子句中继续执行不可预测的时间。-- 来自MSDN

所以我的理解是,每次我在任何地方编写预期在此 AppDomain 中运行的代码时,我都必须期望线程中止可能随时在任何线程上发生。这是真的?任何地方的所有代码都应该假设可以随时抛出 ThreadAbortException 吗?

实际上,这实际上消除了 catch(Exception ex)因为这将捕获 ThreadAbortException 并尝试处理它,通常通过记录一个确实不应该记录的错误(因为卸载 AppDomain 并不是真正的异常)。

是否需要考虑其他任何因素来避免不必要的异常处理/错误记录?

0 投票
2 回答
811 浏览

.net - CLR 存储过程线程异常

我有以下代码可以在 exe 中工作,甚至可以在 CLR 中的小 xml 文件上工作,但是一旦它们大于 10mb,我就会收到线程中止错误。我需要在 SQL Server 中配置什么吗?

错误信息:

0 投票
3 回答
313 浏览

c# - 你如何加入/中止一组动态创建的线程?

我在结束一组动态创建的线程时遇到了一些麻烦。我需要在任何给定点结束所有这些的原因是我可以刷新表单的某些部分并创建新的部分。这是一个简单的场景来展示我的线程中发生的事情。

许多线程是根据就地某些变量动态创建的:

然后这些线程从计时器工作,并触发一个事件,该事件处理 UI 更新等。但是,当我尝试刷新 UI 时(例如,如果需要考虑数据库中的任何更多条目),如果线程仍在运行,则删除表单上的按钮(这些按钮已分配给线程)会出错,所以之前我呼吁刷新我需要以这种方式停止所有当前线程。

所以我的问题是,如何在刷新 UI 之前中止这组线程?

0 投票
2 回答
2157 浏览

c# - 当应用程序关闭时,我可以检测到后台线程何时被应用程序杀死?

我在 C# 中使用一个线程,我将 IsBackground 属性设置为 true。线程在循环中运行一些代码,直到应用程序关闭。当应用程序关闭时,线程也停止执行(因为我设置了 IsBackground = true)。

应用程序如何杀死线程?似乎它不会通过调用 abort 来做到这一点,因为我没有得到 ThreadAbortException。它发生在幕后吗?我想在我的 finally 循环块中做一些回滚。

我知道我可以自己在线程上调用 abort,但我想知道应用程序如何关闭我的后台线程,以及我是否可以从线程内部对其做出反应。我知道我可以订阅 Application.ApplicationExit 事件,但我在服务和 winform 中都运行此代码,我更喜欢在循环中捕获异常,以便能够在 finally 语句中回滚。

0 投票
1 回答
714 浏览

c# - System.Diagnostics.Process.Start 在服务器上抛出 threadabort 异常

在我的网站中,我使用 System.Diagnostics.Process.Start 来预览特定文件。它在本地服务器上工作正常,但是当我尝试预览文件时,它会在在线服务器上抛出 ThreadAbortException。

预览发生在中继器的按钮单击上。代码如下:

0 投票
1 回答
666 浏览

c# - 管理观察者线程 - 引发的异常和加入如何工作?

我有一个来自我不拥有的 API 的登录过程,该过程偶尔会挂起。如果它花费的时间超过 30 秒,我想杀死它并重试(因为它应该只需要大约 2-3 秒)。

我对中止线程的工作原理以及是否需要在中止后加入感到有些困惑。这是我的问题,然后是我正在尝试做的示例:

问题:

  1. Abort 在其调用的线程中引发线程中止异常。这会传播吗?我需要在调用线程中显式处理它还是线程只是死了?

  2. 我是否需要加入一个中止的线程以使其不会僵化,或者我只是对 *NIX 编程世界感到困惑?

    /li>
0 投票
3 回答
2416 浏览

asp.net - Response.Redirect 不起作用。线程中止异常

我的代码中有重定向问题。网上提出的解决方案都没有对我有用。基本上我的代码是这样的(不是实际代码,只有描述):

一切都执行得很好,但是在方法执行之后我只是被扔到登录页面。在 VS 的输出窗口中,我看到:“在 mscorlib.dll 中发生了 'System.Threading.ThreadAbortException' 类型的异常,但未在用户代码中处理。”

这是一些额外的信息:

  • 我没有使用 try catch 块。
  • 我在此页面上没有任何 UpdatePanel,在母版页上也没有。
  • Application_Error 甚至不会触发。
  • 我什至还有第二个按钮,它做几乎相同的事情(带来其他数据)并成功重定向到另一个页面(相同的代码)
  • 在执行期间,我没有更改 Web.Config 中的任何内容。

编辑:为了澄清。无论如何都会抛出该异常。重定向到所需页面不起作用(这意味着我的应用程序中有一个死部分。我无法访问它。)。相反,我被从应用程序中抛出。

拜托,请帮我解决这个问题。我真的没有更多可以遵循的线索,所以任何建议都可能会有所帮助。