在传统的 Win32的程序中,进程是独立的运行空间, 在一些大型系统中, 通常都是将系统中的核心功能分解出来用独立的进程来处理,一方面是为了能获得更高的系统性能、吞吐量 。另一方面是为了能隔离功能之间的错误异常,为了使功能之间互不干扰,用进程进行隔离 ,再通过 IPC 或者其他的方式进行进程间通信, 当某个功能发生严重错误的时候不会使整个系统强制关闭。

其实.NET 的应用程序域诞生的初衷有点这个意思,用 AppDomain 进行隔离错误异常。在我们开发大型系统的时候, 或者是开发系统核心组件的时候肯定是需要考虑系统的容错性的,尤其是在一些实时监控的功能,是绝对不允许出现异常中断整个系统的。那么.NET 为我们提供了 AppDomain 的概念,它是程序在进程中的逻辑宿主。既然是逻辑宿主, 那么他们还是共享同一地址空间。 在系统的托管堆中还是不分 AppDomain 的概念的。

每一个可执行应用程序都会独立开启一个进程,当系统加载器将控制权交给 CLR 的时候,.NET 会用默认的 AppDomain 来宿主应用程序。默认的应用程序域是由.NET 开启的,当系统启动起来之后,我们可以创建应用程序域,然后在该域里面创建对象 。

理解AppDomain的更多相关文章

  1. 理解AppDomain和AppPool

    应用程序池: 这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置.因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会 ...

  2. C#基础--应用程序域(Appdomain)

    AppDomain理解 为了保证代码的键壮性CLR希望不同服务功能的代码之间相互隔离,这种隔离可以通过创建多个进程来实现,但操作系统中创建进程是即耗时又耗费资源的一件事,所以在CLR中引入了AppDo ...

  3. Asp.net管道模型(管线模型)

    Asp.net管道模型(管线模型)   前言 为什么我会起这样的一个标题,其实我原本只想了解asp.net的管道模型而已,但在查看资料的时候遇到不明白的地方又横向地查阅了其他相关的资料,而收获比当初预 ...

  4. mvc和iis工作原理

    学习IIS & MVC的运行原理 我一直疑惑于以下问题,从客户端发出一个请求,请求到达服务器端是怎样跟iis衔接起来的,而iis又是怎样读取我发布的代码的,并返回服务器上的文件.这其中是怎样的 ...

  5. 学习IIS & MVC的运行原理 (转)

    我一直疑惑于以下问题,从客户端发出一个请求,请求到达服务器端是怎样跟iis衔接起来的,而iis又是怎样读取我发布的代码的,并返回服务器上的文件.这其中是怎样的一个处理过程. 1:当你从浏览器中输入一个 ...

  6. Asp.net管道模型(管线模型)之一发不可收拾

    前言 为什么我会起这样的一个标题,其实我原本只想了解asp.net的管道模型而已,但在查看资料的时候遇到不明白的地方又横向地查阅了其他相关的资料,而收获比当初预想的大了很多. 有本篇作基础,下面两篇就 ...

  7. 学习IIS & MVC的运行原理

    我一直疑惑于以下问题,从客户端发出一个请求,请求到达服务器端是怎样跟iis衔接起来的,而iis又是怎样读取我发布的代码的,并返回服务器上的文件.这其中是怎样的一个处理过程. 1:当你从浏览器中输入一个 ...

  8. 浅谈.NET中AppDomain的理解

    一.走进.NET AppDomain 天哪,.NET Framwork的CLR真是巧妙呢!随着越来越多的对.Net底层编程的了解,一些诸如架构,处理过程的复杂难懂的细节完全的让我叹服,所以呢,再次错过 ...

  9. C# 中 AppDomain 的一些理解

    C# 中 AppDomain 的一些理解 前言 一直想写一个这样的程序:与其它的程序完全解耦,但可以动态的加载其它程序,并执行其中的特定方法,执行完后可以卸载,完全不影响该程序本身.最近无意间发现了 ...

随机推荐

  1. 本地Sql Server数据库传到服务器数据库

    将网站项目上传到服务器时,会遇到本地数据库该如何上传的问题.下面在西部数码购买的虚拟主机的基础上,解决数据库上传问题.   1.在西部数码购买虚拟主机后,会赠送了一个数据库,该数据库就可以作为网站项目 ...

  2. 奇怪吸引子---FourWing

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  3. [Algorithm] Calculate Pow(x,n) using recursion

    Asking you to implement the Math.pow method The navie implemenation can be: // O(N) const pow1 = (x, ...

  4. MDX Cookbook 12 - 计算 SMA 简单移动平均 LastPeriods() 函数的使用

    先认识一下这几个名词 Moving Average (MA) 移动平均,或者叫做移动平均线,是技术分析中一种分析时间序列数据的工具.最常见的就是利用股价,回报或交易量等变数计算出移动平均.可以利用移动 ...

  5. Java常用测试工具

    第一部分:九款性能测试 Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runti ...

  6. Java注解应用,自定义注解映射实现方案说明.

    插件结构如图: 注册模块定义了三个:用于实体与表映射的注解,用于属性到表字段的映射,用于映射时过滤掉的注解. 1.用于实体与表映射的注解 package com.dobby.plugins.annot ...

  7. Easyui 弹出加载中的遮罩的两种方法

    第一种: //弹出加载层function load() {      $("<div class=\"datagrid-mask\"></div> ...

  8. malloc()參数为0的情况

    以下的代码片段输出是什么?为什么? char *ptr; ))==NULL) puts("Got a null pointer"); else puts("Got a v ...

  9. 【Netty】通俗地讲,Netty 能做什么?

    作者:郭无心链接:https://www.zhihu.com/question/24322387/answer/78947405来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  10. Android开发(二十三)——Application

    参考: [1] Android中Application类用法.http://www.cnblogs.com/renqingping/archive/2012/10/24/Application.htm ...