.net - 哪个异常终止进程? (iis 的 w3wp)

标签 .net exception iis

我已阅读 this article试图找到:“哪个异常终止了整个进程”(iis,所以基本上应用程序池终止 - w3wp.exe)
我已经知道(根据我的经验):

  • StackOverflow 异常确实终止
  • 内存不足异常也会终止

  • 我已阅读 Hans' answer here重定向到 SSCLI20他给出了代码示例的源代码:TerminateProcess(GetCurrentProcess(), COR_E_STACKOVERFLOW);所以我下载了SSCLI20 并搜索了更多 TerminateProcess(GetCurrentProcess()...并找到了这些条目:
    enter image description here
    但我不确定这是否是整个列表,即使是这样 - 也不是很清楚。
    问题
    我在哪里可以找到终止进程的完整异常列表?

    最佳答案

    找到了。
    里希特来救援。
    专业术语称为:损坏状态异常 (CSE'e)
    损坏状态异常 (CSE):这些是无法捕获的异常。幕后环境的 FailFast 方法会引发这些异常之一。因此,它无法被捕获并且您的应用程序以未处理的异常结束。
    从书:
    enter image description here
    更多的 :
    enter image description here
    重要的 :
    注:即使使用属性 HandleProcessCorruptedStateExceptions,我们也无法处理以下异常,出于给定的原因:

  • StackOverflowException - 由于这是硬件故障,并且没有更多堆栈可用于进一步处理(感谢 Abel Braaksma 指出这一点)。
  • ExecutionEngineException - 它是由于堆内存损坏而发生的,因此无法进一步处理(引用)。

  • 通过 Abhishek Sur 的另一个有用链接:
    http://dailydotnettips.com/2013/09/23/corruptedstateexceptions-in-net-a-way-to-handle/

    关于.net - 哪个异常终止进程? (iis 的 w3wp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741153/

    相关文章:

    iis - Azure 网站上的 URL 重写到另一台服务器

    c# - 为 ASP.NET GridView 中的所有空单元格着色

    c# - 如何在C#Nest中进行双重嵌套查询

    iis - VS2012 Web Deploy Package 创建应用程序池

    java - 为什么这个程序会根据用户输入的位数重复答案?

    c# - 使用 System.DirectoryServices.AccountManagement 程序集中的 PrincipalContext 不断获取异常

    iis - 如何使用IIS为Amazon EC2服务器启用FTP被动模式

    c# - 如何在 WPF 中 move Canvas 上的形状?

    .net - 如何获取 COM 对象的类型

    c# - 这是用任务处理 AggregateException 的错误方法吗