【.NET】应用程序域自理解

1、以前使用进程边界来隔离在同一台计算机上运行的应用程序。
2、在.NET中应用程序有了一个新的边界:应用程序域。
他是一个用于隔离应用程序的虚拟边界。为了禁止不应交互的代码进行交互,这种隔离是必要的。.NET的应用程序在域层次上进行隔离,一个域中的应用程序不能直接访问另一个域中的代码和数据。
3、好处:一个进程里可以运行多个域,而不会造成进程间调用或切换等方面的额外开销。
多个域中可以轻松共享数据或直接访问彼此的数据。这种代码同运行同一个进程但域不同的类型安全代码一起运行时是安全的。在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。
4、应用程序域是进程中承载程序集的逻辑分区,在应用程序域当中,存在更细粒度的用于承载.NET对象的实体,那就是.NET上下文Context
5、所有的.NET对象都存在于上下文中,每个AppDomain当中至少存在一个默认上下文(context 0)
6、一般情况下,应用程序域中的对象不能被外界的对象访问,MarshalByRefObject的功能允许跨应用程序域边界访问对象
7、消息接收器机制 在.NET上下文的接口当中存在着一个消息接收器负责检测拦截和处理信息,当对象是MarshalByRefObject的子类时候,CLR将会建立透明代理,实现对象与消息之间的转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值