社区
C#
帖子详情
如何使用传输对象副本的方法跨应用程序域
kinghawk
2007-01-16 01:12:55
不同应用程序域中的对象的通信方式有两种:一种是跨应用程序域边界传输对象副本,一种是使用代理交换消息。
问题是:第一种方法对象副本应该怎么做?最好可以给出简单的示例。
谢谢了……
...全文
194
4
打赏
收藏
如何使用传输对象副本的方法跨应用程序域
不同应用程序域中的对象的通信方式有两种:一种是跨应用程序域边界传输对象副本,一种是使用代理交换消息。 问题是:第一种方法对象副本应该怎么做?最好可以给出简单的示例。 谢谢了……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
viena
2007-01-16
打赏
举报
回复
@_@
北京的雾霾天
2007-01-16
打赏
举报
回复
我觉得楼可以参考MSDN的文档:
可远程处理的对象
可远程处理的对象可以使用代理在其应用程序域或上下文之外进行访问,也可以复制它们并且可以将这些副本传递到它们的应用程序域或上下文外;也就是说,某些可远程处理的对象通过引用传递,而另一些通过值传递。
可远程处理的对象是能在大范围的分布式环境中正常运行的对象。有两种主要的可远程处理的对象:
*值封送对象,它们被复制并从应用程序域传递。
*引用封送对象,将为其创建代理,而该代理由客户端用于远程访问对象。
值封送对象
值封送 (MBV) 对象声明它们的序列化规则(通过实现 ISerializable 来实现其自身的序列化,或者通过用 SerializableAttribute 修饰,该属性通知系统自动序列化该对象),但是不扩展 MarshalByRefObject。远程处理系统创建这些对象的完整副本并将副本传递到进行调用的应用程序域。一旦副本到达调用方的应用程序域内,对该副本的调用就是对该副本的直接调用。此外,作为参数传递的 MBV 对象也会通过值传递。除了声明 SerializableAttribute 属性或实现 ISerializable 之外,您不需要执行其他任何操作即可将类的实例跨越应用程序或上下文边界通过值进行传递.....
引用封送对象
引用封送 (MBR) 对象是至少扩展 System.MarshalByRefObject 的可远程处理的对象。根据已声明的激活类型,当客户端在它自己的应用程序域中创建 MBR 对象的实例时,.NET 远程处理基础结构在调用方的应用程序域中创建表示该 MBR 对象的代理对象,并向调用方返回对此代理的引用。然后,客户端将在此代理上进行调用。远程处理将封送这些调用,将其发送回起始应用程序域,并引发对实际对象的调用....
北京的雾霾天
2007-01-16
打赏
举报
回复
你上面说的副本应是指可以序列化的对象的反序列化后的内容.
如果是这样请参见:Serializable序列化或SerializableAttribute 类
Mina网络
应用程序
NIO框架实战详解
课程还将在工作中应用较多的几种编解码器进行详细分析和练习。 Mina是基于java NIO类库开发; 采用非阻塞方式的异步
传输
; 事件驱动;支持批量数据
传输
; 支持TCP、UDP协议;支持Spring; 采用优雅的松耦合架构; ...
AppDomain
应用程序
域
MarshalByRefObject
AppDomain
应用程序
域
(MarshalByRefObject 类) 允许在支持远程处理的
应用程序
中
跨
应用程序
域
边界访问
对象
。
应用程序
域
是一个操作系统进程中一个或多个
应用程序
所驻留的分区。同一
应用程序
域
中的
对象
直接通信。不同
应用程序
域
中的
对象
的通信方式有两种:一种是
跨
应用程序
域
边界
传输
对象
副本
,一种是
使用
代理交换消息。 MarshalByRefObject 是通过
使用
代理交换消息来
跨
MarshalByRefObject 类
应用程序
域
是一个操作系统进程中一个或多个
应用程序
所驻留的分区。同一
应用程序
域
中的
对象
可以直接通信。不同
应用程序
域
中的
对象
的通信方式有两种:一种是
跨
应用程序
域
边界
传输
对象
副本
,一种是
使用
代理交换消息。MarshalByRefObject 是通过
使用
代理交换消息来
跨
应用程序
域
边界进行通信的
对象
的基类。MarshalByRefObject
对象
在本地
应用程序
域
的边界内可直接访问。远程
应用程序
域
中的
应用程序
首次访问 MarshalByRefObject 时,会向该远程
应用程序
传递代理。对该代理后面的调用
使用
.NET 远程处理访问其他
应用程序
域
中的
对象
使用
.NET 远程处理访问其他
应用程序
域
中的
对象
在 运行于不同进程中的
对象
之间建立通讯(无论是在同一台计算机上,还是在相距数千公里的计算机上)是常见的开发目标,尤其是在生成大范围分布式
应用程序
的时 候。传统上,这需要深入了解相关知识:不仅是关于通讯流任一端的
对象
的知识,而且还有关于低级别协议的主机、
应用程序
编程接口以及配置工具或文件的知识。 简言之,它是一项需要大量专业知识和经验的复杂
C#中的
对象
序列化研究
C#中的
对象
序列化研究 为什么要
使用
序列化?最重要的两个原因是:将
对象
的状态保存在存储媒体中以便可以在以后重新创建出完全相同的
副本
;按值将
对象
从一个
应用程序
域
发送至另一个
应用程序
域
。例如,序列化可用于在 ASP.NET 中保存会话状态,以及将
对象
复制到 Windows 窗体的剪贴板中。它还可用于按值将
对象
从一个
应用程序
域
远程传递至另一个
应用程序
域
。本文简要介绍了 Microsoft .
C#
110,537
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章