社区
C#
帖子详情
Remoting中传递的是对象的引用如何理解?
萤火架构
2010-09-10 11:07:40
Remoting中传递的是对象的引用如何理解?为什么可以提高通信的性能?
...全文
58
3
打赏
收藏
Remoting中传递的是对象的引用如何理解?
Remoting中传递的是对象的引用如何理解?为什么可以提高通信的性能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
萤火架构
2010-09-10
打赏
举报
回复
明白了 还需要加强学习
码农星球撸码J
2010-09-10
打赏
举报
回复
1:远程对象有两类,要看你的远程对象是标识[Seriliazerble]还是继承于MarshByObject,如果是前者,就是传递对象本身,如果是后者,才是对象的引用。
2:如果是后者,那么在本地生成的是远程对象的一个代理。故,在传递过程中,不传递对象本身。当你的远程对象是一个大数据量对象的时候,就会带来通信性能。
zcfzcf001
2010-09-10
打赏
举报
回复
替你顶下,还没有接触过。
15套 c# 操作
Remoting
的源代码事例,相信对你有用!
什么是
Remoting
,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说
Remoting
就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft? .NET
Remoting
提供了一种允许
对象
通过应用程序域与另一
对象
进行交互的框架。这也正是我们使用
Remoting
的原因。为什么呢?在Windows操作系统
中
,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程
中
执行的代码就不能访问另一进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用程序域,与另外的应用程序域进行通信,即穿越边界。 在
Remoting
中
是通过通道(channel)来实现两个应用程序域之间
对象
的通信的。首先,客户端通过
Remoting
,访问通道以获得服务端
对象
,再通过代
理解
析为客户端
对象
。这就提供一种可能性,即以服务的方式来发布服务器
对象
。远程
对象
代码可以运行在服务器上(如服务器激活的
对象
和客户端激活的
对象
),然后客户端再通过
Remoting
连接服务器,获得该服务
对象
并通过序列化在客户端运行。 在
Remoting
中
,对于要
传递
的
对象
,设计者除了需要了解通道的类型和端口号之外,无需再了解数据包的格式。但必须注意的是,客户端在获取服务器端
对象
时,并不是获得实际的服务端
对象
,而是获得它的
引用
。这既保证了客户端和服务器端有关
对象
的松散耦合,同时也优化了通信的性能。
Remoting
的“
传递
的
引用
”
理解
WCf是集大成者,具有其他微软的很多技术,其
中
分布式上很多借助于
Remoting
,所以研究一下
Remoting
有助于
理解
WCF 提到
Remoting
就不得不涉及到MarshalByRefObject这个
对象
,网络上对这个词语的解释非常的模糊不清,特别是说“跨域访问,
Remoting
是
引用
传递
,不是值
传递
”,而没有讲“
引用
传递
”到底是传的什么东西,有的地方确实说了通过ObjRef
对象
传递
需...
.NET
Remoting
体系结构 之 在远程方法
中
传递
对象
远程方法调用
中
的参数类型不仅可以是基本的数据类型,还可以是我们自己定义的类。为了进 行远程处理,必须区分下面 3 种类型的类: ● 按值编组的类——这种类通过信道进行序列化。要编组的类必须用 Serializable 特性标记。 这些类的
对象
没有远程标识,因为完整的
对象
通过信道编组,而且与客户端序列化的
对象
独立于服务器
对象
(或相反)。按值编组的类也称作未绑定的类,原因是它们没有依赖于应用 程...
C#
Remoting
的基础介绍
一、
Remoting
基础什么是
Remoting
,简而言之,我们可以将其看作是一种处理方式。从微软的产品角度来看,可以说
Remoting
就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft®.NET
Remoting
提供了一种允许
对象
通过应用程序域与另一
对象
进行交互的框架。这也正是我们使用
Remoting
的原因。为什么呢?在Windows操作系统
中
,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。
[
Remoting
] 二:远程
对象
在分布系统
中
,远程
对象
需要跨越应用程序域进行
传递
,因此其表示方式会有所不同。基于性能和数据共享等原因考虑,
Remoting
中
远程
对象
可以是 "值封送
对象
(MBV)" 或 "
引用
封送
对象
(MBR)"。MBV 机制类似于 Web 无状态请求,服务器创建
对象
实例
传递
给信道发送到客户端,而后服务器端不再继续维护其状态和生存期。而 MBR 则在其生存期内一直存活在服务器程序域
中
,客户端只是通过代...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章