几家面试都问到这个,以前只在处理WPF未处理异常时用过其一个方法,其他地方还没用到过。
到底该如何解释这个概念?

解决方案 »

  1.   

     AppDomain简单的说就是应用程序内的边界。可以通过它对相同进程中进行再次隔离。
    打个不恰当的比喻:
    IIS6.0中每个站点都会有个单独的W3WP进程提供服务,单独一个挂掉不影响其他网站的运行(使用不同应用程序池的情况下)
      

  2.   

    相当于一个进程。因为CLR允许在一个进程中托管多个程序(比如IIS),所以提出了程序域的概念。一个程序在运行的时候,它和它所引用、反射加载的所有模块的集合构成了一个程序域。
      

  3.   

    差不多就是个CLR下面的进程的概念
      

  4.   

    普通桌面程序,一个程序就是一个appdomain。iis一类程序,一个iis是可以运行很多很多网站的,如果这些网站都放在一个appdomain里,一个网站崩溃了,其他网站也不能访问了。如果每个网站都作为独立的程序,对机器的性能要求又太高,而且没法共享一些资源。所以.net就有appdomain的概念,一个iis进程里,给每个网站一个appdomain,这个每个网站都相互独立。