gpt4 book ai didi

c# - .NET 运行时是否调用过 Thread.Abort()?

转载 作者:行者123 更新时间:2023-11-30 17:00:08 33 4
gpt4 key购买 nike

我继承了一些服务代码,我正试图追踪服务崩溃的问题。我在很多地方发现了以下代码:

catch (ThreadAbortException)
{
throw;
}

但是,我在项目(或相关项目)的任何部分都找不到对 Thread.Abort()Thread.Kill() 的任何调用。

Thread.Abort() 是否曾被 .NET 运行时隐式调用,或者该异常是否仅存在以捕获开发人员进行的调用?我试图缩小我的错误途径,但我对 C# 中的线程不是很有经验。如果在我的代码库中从未真正调用过 Thread.Abort(),我正在尝试确定我展示的 catch block 是否真的被命中。

谢谢!

编辑:我想澄清一下——我知道 .NET 可以终止线程,但我想知道它是专门调用 Thread.Abort() 还是使用其他方式(如 ThreadAbortException 仅在 Thread.Abort() 上调用。

最佳答案

不做任何事情就接住/扔似乎毫无意义。

这些错误在 ASP.NET 中很常见——这意味着重定向结束了响应,例如。 ASP.NET Response.Redirect( ) Error

或者这意味着一个工作进程被 casinni/iis/aspnet 杀死了,因为它自己的神秘原因,可能是工作进程回收等。

它通常不表示编程错误。

在大多数情况下,在多线程应用程序中调用 Thread.Abort() 似乎不是一个好主意,SO 上的其他答案比我能更好地说明这一点。

关于c# - .NET 运行时是否调用过 Thread.Abort()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22697321/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com