C#里的应用程序域AppDomain是什么?求直白的解释?
应用程序域:(ApplicationDomain,简称AppDomain)一组程序集的一个逻辑容器,进程中的一个逻辑分区。通常由运行时宿主创建和操作。AppDomain唯一的作用就是进行隔离。具体功能:隔离,一个AppDomain中的代码创建的对象不能由另一个AppDomain中的代码直接访问。达到隔离应用程序的效果。当然如果要访问别的AppDomain中的内容,可以使用“按引用封送”或者“按值封送”的语义。AppDomain可以卸载,但不能卸载单独的程序集或类型,只能卸载整个应用程序域。从而卸载包含在该AppDomain中的所有程序集。AppDomain可以单独保护,AppDomain在创建后,会应用一个权限集,它决定了向这个AppDomain中运行的程序集授予的最大权限。从而保护宿主加载的代码不被破坏。可以单独实施配置,AppDomain在创建后,会关联一组配置设置。这些设置主要影响CLR在AppDomain中加载程序集的方式。这些设置涉及搜索路径、版本重定向、卷影复制以及加载器优化。
应用程序域的介绍
应用程序域 (application domain) (AppDomain) 一种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点开始,沿着对象激活的序列的任何位置)。应用程序域有助于将在一个应用程序中创建的对象与在其他应用程序中创建的对象隔离,以使运行时行为可以预知。在一个单独的进程中可以存在多个应用程序域。
C#里的应用程序域“AppDomain”是什么?
应用程序域:(Application Domain,简称App Domain)一组程序集的一个逻辑容器,进程中的一个逻辑分区。通常由运行时宿主创建和操作。AppDomain唯一的作用就是进行隔离。具体功能:隔离,一个AppDomain中的代码创建的对象不能由另一个AppDomain中的代码直接访问。达到隔离应用程序的效果。当然如果要访问别的AppDomain中的内容,可以使用“按引用封送”或者“按值封送”的语义。 AppDomain可以卸载,但不能卸载单独的程序集或类型,只能卸载整个应用程序域。从而卸载包含在该AppDomain中的所有程序集。AppDomain可以单独保护,AppDomain在创建后,会应用一个权限集,它决定了向这个AppDomain中运行的程序集授予的最大权限。从而保护宿主加载的代码不被破坏。可以单独实施配置,AppDomain在创建后,会关联一组配置设置。这些设置主要影响CLR在AppDomain中加载程序集的方式。这些设置涉及搜索路径、版本重定向、卷影复制以及加载器优化。