Webcast.NET Remoting学习笔记(2)Remoting边界

        在无管理的状态下,操作系统把应用程序分离为单独的进程,如果不通过某种进程间通信机制,一个进程无法访问另一个进程的存储空间,这样保证了一个容错功能强大的环境,一个进程的错误不会影响其他进程的执行。在.net中,公共语言运行时确定所管理的代码类型安全,还要保证这段代码没有访问无效的存储空间。运行时可以在一个进程中运行多个程序,,为了实现和“一个程序一个进程”相同的隔离优点,.net为程序定义两个逻辑子部分:应用程序域和上下文。
         单个win32进程可以包括多个应用程序域,某一应用域中的代码只能访问自己域中的代码和对象。这样一个应用域的错误不会影响进程域中的
 其他应用域。两个应用域之间的界线就构成了一个边界。
         公共语言运行时又把应用域划分为上下文,上下文负责管理它的对象访问,例如同步上下文可以规定每次只同意一个线程在这个上下文中执行。就应用程序域而言每个上下文之间的界线构成了一个.net边界。
         为了实现不同应用域和上下文只见实现交互,我们就要穿越边界,条件就是要穿越边界的对象是可远程化的。一个对象是可远程化的条件是至少满足以下条件中的至少一个:
             1】型的实例可以穿越边界
             2】他对象可以访问穿越边界的类型的实例
          可远程化的类型可以分为按值列集和按引用列集。按值列集就是通过一个序列化进程将对象序列化,然后穿越边界后逆序列化返回原有状态,得到一个远程对象的副本。在.net中使用serializable声明一个类型是可序列化的。按引用列集是想在远程对象本身访问而不是他的一个副本身上。当一个类型继承自sistem.marshalbyrefobject派生时,它就可以按引用列集。
         

转载于:https://www.cnblogs.com/stuhrbeu/archive/2007/02/03/638752.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值