gpt4 book ai didi

.net - 如果不是 IsDefaultAppDomain,则从任何 AppDomain 调用的 Environment.Exit 是否会退出整个过程?

转载 作者:行者123 更新时间:2023-12-05 01:10:14 24 4
gpt4 key购买 nike

我最初对 Environment.Exit 的看法是这样的:

  • 如果从默认 AppDomain 调用,该进程将终止。
  • 如果从非默认的 AppDomain 调用,AppDomain 将终止并将退出代码推送到 AppDomain.ExecuteAssembly 的返回中。

  • 这对我来说似乎是合乎逻辑的,因为加载的 AppDomain 由于调用 Environment.Exit 而不是像 https://stackoverflow.com/questions/3971101/c-sharp-whats-the-best-way-to-end-a-program 接受的答案那样以“}”结尾而无意中终止整个进程,这显然是不可取的。谈到。

    然而 MSDN description Environment.Exit的如下:

    Terminates this process and gives the underlying operating system the specified exit code.



    所以这让我想知道,Environment.Exit 是否会像 MSDN 所说的那样杀死整个过程,或者它是否像我最初的假设那样工作?

    最佳答案

    MSDN 库文章当然是准确的。不,你不能只是调用 Environment.Exit() 并希望它会起作用,它有一个 CAS 需求。一个高大上,必须信任代码才能运行危险代码,SecurityPermissionFlag.UnmanagedCode。您通常只能完全信任它。

    AppDomain 中的沙盒代码非常简单,this MSDN page显示如何。

    关于.net - 如果不是 IsDefaultAppDomain,则从任何 AppDomain 调用的 Environment.Exit 是否会退出整个过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143810/

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