Environment.Exit需要很长时间才能关闭应用程序

时间:2015-08-31 12:04:25

标签: c# environment

我正在努力解决一个我不清楚的问题。 致电<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 时,关闭应用程序大约需要22秒。

Environment.Exit(0)

你知道幕后发生了什么吗? 我可能会抛出异常,但我检查了“例外”对话框中的所有复选框。

1 个答案:

答案 0 :(得分:3)

如果您了解.NET应用程序的工作方式以及time_rcvd如何工作,那么幕后发生的事情非常清楚。

简而言之,Environment.Exit不是退出任意应用程序的最快方法。它仍然等待任何待定的终结器运行(如果它们运行得足够快,它们总共只有30秒的IIRC)。如果你正在使用例如套接字,终结器完全可能需要几秒钟才能运行。

最简单的检查方法当然是使用调试器 - 只需在执行关闭时暂停,您将看到哪些线程正在执行,以及它们正在执行的是什么。