问题标签 [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 投票
1 回答
521 浏览

android - 从 MI 设备上的 Play 商店获取“中止异常”报告

在谷歌游戏控制台上出现中止异常,适用于小米 Mi A1 (tissot_sprout)、Android 8.1 和 Xiaomi Redmi Note 5 Pro (whyred),仅限 Android 8.1 设备!

谁能帮助我理解这个问题?
这个设备是特定的还是代码中的问题?提前致谢。

0 投票
1 回答
456 浏览

hangfire - 执行 Hangfire 作业时引发“线程被中止”异常

我有一个 Hangfire(使用 SqlServer 进行持久性)作业,它从数据库中查询一些数据。然后使用这些数据生成带有 NPOI 的 Excel,并通过电子邮件将其发送给用户。

数据不是那么大,只有 1,000 行。所以作业在几秒钟内执行。但是,在生成 Excel 或发送邮件时出现“线程被中止”异常。

我猜有类似超时的东西,它会杀死线程。有没有人有同样的问题?有什么解决办法吗?

0 投票
0 回答
45 浏览

c# - .NET 线程可以在方法返回和分配其返回值之间中断吗?

理论上是否有可能在方法的返回和将其返回值分配给本地之间时某些东西会中断 .NET 线程(例如 ThreadAbortException)?

例如,下面的代码是否安全,或者是否有可能myMutex.WaitOne()获取互斥锁并返回,但在分配true该值之前抛出异常,因此获取的互斥锁不会被释放?truemutexAcquired

如果那是安全的,那么下面的代码呢?

同样,是否有可能myMutex.WaitOne()返回 true,但是在进入块if之前在 ,上抛出 ThreadAbortException (或类似的)?try

0 投票
1 回答
293 浏览

c# - 如何正确使用 Thread.Abort()?

线程中止时会导致什么问题?

我需要Thread.Abort()在我的代码中使用,因为线程运行具有大量循环、对象和条件的复杂代码。

我知道Thread.Abort()使用时会导致死锁Monitor,也可以防止资源被释放,但我可以处理这些问题。

我使用IDisposable/using模式或 catchThreadAbortException来保证所有资源都被释放并停止异步操作。

该应用程序现在似乎运行良好。但是,由于代码非常复杂,我不确定在中止线程时是否会出现一些罕见的情况会导致内存泄漏或未处理的异常。

如果线程在执行代码时被中止,是否有任何 .net 类(例如FileStream, )会导致问题?Dictionary还是我应该注意的其他一些问题?

0 投票
2 回答
149 浏览

c# - 在 C# 中调用 showdialog 时出现线程异常异常

我有一个应用程序可以解析大型 XML 文件并基于该内容构建 WPF UI 控件。此任务通常需要大约 15 - 30 秒。为了通知用户正在运行的任务,我显示了一个简单的中间进度对话框窗口,例如:

这行得通,但我有时会得到一个 ThreadAbortException on progressDialogThread.Start(),此时应该再次解析 XML。

有谁知道“关闭”进度对话框的更好方法?

由于控件必须建立在主 UI 线程上,我不能使用 backgroundworker...

XAML 中的进度对话框本身如下所示:

0 投票
1 回答
329 浏览

asp.net - 当 Response.End() 被 ApplicationInstance.CompleteRequest() 替换时文件未下载

我想创建一个文件下载。这是它的原始代码:

看起来还不错。文件已正常下载,但我在输出中发现以下消息。

在 mscorlib.dll 中发生了“System.Threading.ThreadAbortException”类型的第一次机会异常

我试图寻找如何解决这个异常的解决方案,我看到每个人都在谈论Response.End()HttpContext.Current.ApplicationInstance.CompleteRequest().

当我尝试它时,异常不再发生,但结果更糟 - 更改后没有下载文件。就像我只是删除Response.End()并添加任何内容一样。

在这种情况下,我应该怎么做才能在需要下载时摆脱异常?还是我应该忽略异常,因为它似乎不会产生任何不利的结果?

0 投票
2 回答
156 浏览

c# - 静态构造函数是否作为 CER 运行?

我正在测试以下代码:

我得到的输出是:

似乎t.Abort()调用阻塞了主线程,直到静态构造函数的执行完成,并且根据文档

Abort如果正在中止的线程位于代码的受保护区域(例如 catch 块、finally 块或受约束的执行区域)中,则调用的线程可能会阻塞。

我的问题是:

  1. 静态构造函数真的作为受约束的执行区域 (CER) 运行吗?
  2. 如果是,还有哪些其他作为 CER 运行的代码块?
0 投票
0 回答
131 浏览

c# - 当 C++ 代码运行时调用 Thread.Abort 时,如何在 C# 中捕获 ThreadAbortException?

我在 C++-DLL 中有一个长时间运行的函数。我从 C# 代码开始这个函数。在 C# 代码中,我在自己的线程中调用该函数。

现在我想中止线程。ThreadAbortException发生。本机功能停止。但我无法捕捉到异常。catch子句中的必要代码永远不会执行。

这是我如何调用本机函数的代码:

这是我如何处理线程的代码:

使用 ThreadProc:

如何处理异常?发生异常时,errorCode不是2001 而是 0。但我需要 2001 作为返回值。

0 投票
0 回答
48 浏览

c# - 共享数据访问逻辑时 C# WebAPI 线程中止

我的 C# Web API 出现以下错误:“抛出异常:System.Data.dll 线程中的‘System.Threading.ThreadAbortException’被中止”。我在一个线程上有一个长时间运行的进程,使用我的数据访问逻辑类来获取和更新正在处理的记录。同时用户将另一个组提交给需要相同数据访问逻辑类的进程,从而导致错误。这是我正在做的事情的粗略草图。

WebAPI 类

静态加工工厂

逻辑类

有什么想法可以确保来自所有线程的所有流量都可以访问数据访问逻辑而不会系统地中止线程吗?

0 投票
0 回答
32 浏览

c# - Asp.Net 网站上的随机 ThreadAbortException

我在调试时随机有 ThreadAbortException(循环在相同的 HTTP 请求上进行测试),我不知道为什么......它在几分钟后出现请求。

堆栈跟踪:

我不使用 Response.End、Response.Redirect 或 Server.Transfer(参考https://docs.microsoft.com/fr-fr/troubleshoot/aspnet/threadabortexception-occurs-you-use-response-end

是什么原因 ??