快速业务通道

Remoting的基本概念

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-11

 

什么是Romoting?

采用分布式进行编程的一种技术,Remoting主要用于管理跨应用程序域的同步和异步RPC 会话。在默认情况下,Remoting使用 HTTP 或 TCP 协议,并使用 XML 编码的 SOAP 或本机二进制消息格式进行通信。.NET Remoting 提供了非常灵活和可扩展的编程框架,并且他可以管理对象的状态。

Remoting优点:
1)  性能: 如果调优.Net Remoting 的性能,那么他的性能非常好,速度接近DCOM.
2) 可扩展:.Net Remoting 可供你选择传输通道类型(如Http,Tcp)和格式类型(如Binary,Soap)。
3) 可配置:可以通过配置文件配置应用程序。
4) CLR和CTS的好处:由于.NET Remoting是基于.NET框架的,所以他拥有Common Type System(CTS) 和 Common Language Runtime(CLR)所拥有的易于使用和功能强大的特点。
5)互用性(Interoperability): .NET Remoting 支持开发标准(Http,SOAP,WSDL,XML).
6) 安全性
7) 生命周期管理

 二Remoting技术出现的背景

1)分布式应用需求的迅速增长(Peer-to-Peer, Grid等技术的出现)
2)原有的C/S, B/S模式和技术已经不能胜任(串口RS232,Socket,RPC,DCOM技术各有缺点)


三 Remoting架构:

 Remoting通过通道(channel)来传输消息。.NET Remoting支持两种默认的协议支持通道(Http和Tcp).
四 远程对象的两个含义

操作远程对象:对象运行在远程,客户端向他发送消息.
传递远程对象:将远程的对象拿到本地,或者将本地对象发送过去,然后我们可以对副本进行操作.


五 激活对象的两种方式:
服务器激活和客户端激活

1 服务器激活:
“服务器激活的对象”是由服务器控制生存期的对象。它们只在客户端调用对象的第一个方法时,根据需要由服务器创建。服务器激活的对象只支持默认的构造函数。
代码:

Remoting的基本概念<service>
Remoting的基本概念  
<wellknown mode="SingleCall" type="Hello.HelloService, Hello" 
Remoting的基本概念                   objectUri
="HelloService.soap" />

Remoting的基本概念
</service>
Remoting的基本概念

上面描述了一个服务器激活的 (wellknown) 类型,其激活方式设置为 SingleCall

服务器激活的对象有两种激活模式:SingletonSingleCall.
1) Singleton(单实例):
这些对象遵循传统的Singleton 设计模式,在这种模式中,任何时候内存中都只有一个实例,所有客户端都接受该实例提供的服务。
特点:
a.在服务器段只实例化一次,以后每次调用都访问同一个实例。
b.可以维持状态

2) SingleCall(单调用)
SingleCall 远程服务器类型总是为每个客户端请求设置一个实例。下一个方法调用将改由其他实例进行服务。从设计角度看,SingleCall 类型提供的功能非常简单。这种机制不提供状态管理,如果您需要状态管理,这将是一个不利之处;如果您不需要,这种机制将非常理想。也许您只关心负载平衡和可伸缩性而不关心状态,那么在这种情况下,这种模式将是您理想的选择,因为对于每个请求都只有一个实例。如果愿意,开发人员可以向 SingleCall 对象提供自己的状态管理,但这种状态数据不会驻留在对象中,因为每次调用新的方法时都将实例化一个新的对象标识。
特点:
a.每次调用都实例化新的实例
b.更好地支持无状态编程模型

2 客户端激活
“客户端激活的对象”是当客户端调用 newActivator.CreateInstance() 时在服务器上创建的。
代码:

Remoting的基本概念<service>
Remoting的基本概念  
<activated type="Hello.HelloService, Hello" 
Remoting的基本概念             objectUri
="HelloService.soap" />

Remoting的基本概念
</service>
Remoting的基本概念

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号