netremoting程序开发入门篇

netremoting程序开发入门篇

ID:27544811

大小:647.19 KB

页数:34页

时间:2018-12-03

netremoting程序开发入门篇_第1页
netremoting程序开发入门篇_第2页
netremoting程序开发入门篇_第3页
netremoting程序开发入门篇_第4页
netremoting程序开发入门篇_第5页
资源描述:

《netremoting程序开发入门篇》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、•NETRemoting程序幵发入门篇一、Remoting基础什么是Remoting,简而言之,我们可以将K看作是一种分布式处理方式。从微软的产品角度來看,N‘以说Remoting就是DCOM的一种7

2、•级,它改善了很多功能,并极好的融含到.net平台卜。Microsoft?.NETRemoting提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,足将应川程序分离为单独的进程。这个进程形成Y应川稈序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程屮执行的代码就不

3、能访问另一进程。这是一•种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过成用程序域,与W外的应川程序域进行通信,即穿越边界。在Remoting中是通过通道(channel)來实现两个应用程序域之间对象的通信的。如聞所示:Remotingsystem1JRemotingsystemtvChannelIT(^Proxy)/(Serverobject(Clientobject)首先,客户端通过Remoting,访问通道以获得服务端对象,冉通过代理解析为客户端对象。这就提供一种可能性,即以服务的方式來发布服务器对象。远程对象代码可以运行在服务器上(如服务器激活的对象

4、和客户端激活的对象),然后客户端再通过Kemoting连接服务器,获得该服务对象并通过序列化在客户端运行。在Remoting屮,对于要传递的对象,设计者除了需要了解通道的类型和端U号之外,无需再了解数据乜的格式。但必须注意的是,客户端在获取服务器端对象时,并不是获得实际的服务端对象,而是获得它的引用。这既保证了客广端和服务器端有关对象的松散耦合,同时也优化Y通信的性能。1、Remoting的两种通道Remoting的通道主要有两种:Tcp和Http。在.Net中,System.Runtime.Remoting.Channel中定义了IChannel接口。IChannel接

5、口包括了TcpChannel通道类型和Http通道类型。它们分别对应Remoting通道的这两种类型。TcpChannel类型放在名字空间System.Runtime.Remoting.Channel.Tcp中。Tcp通道提供了雉于Socket的传输工具,使川Tcp协议來跨越Remotingiil界传输序列化的消息流。TcpChannel类型默认使川二进制格式序列化消息对象,因此它具有更高的传输性能。IlttpChannel类型放在名字空间System.Runtime.Remoting.Channel.Http屮。它提供了一种使用Http协议,使其能在Internet上穿

6、越防火墙传输序列化消息流。默认情况下,HttpChannel类型使用Soap格式序列化消息对象,因此它具有更好的互操作性。通常在只域网内,我们更多地使用TcpChannel;如果要穿越防火墙,则使用HttpChannel。2、远程对象的激活方式在访问远程类型的一个对象实例之前,必须通过一个名为Activation的进程创建它丼进行初始化。这种客户端通过通道来创建远程对象,称为对象的激活。在Remoting小,远程对象的激活分为两大类:服务器端激活和客户端激活。(1)服务器端激活,又叫做WellKtww方式,很多又翻译为知名对象。为什么称为知名对象激活模式呢?是W为服务器成

7、用程序在激活对象实例之前会在一个众所周知的统一资源标识符⑽1)上來发亦这个类型。然后该服务器进程会为此类型配置一个WeilKnown对象,并根据指定的端口或地址来发布对象。.NetRemoting把服务器端激活又分为SingleTon模式和SingleCall模式两种。SingleTon模式:此为有状态模式。如果设置为SingleTon激•方式,则Remoting将为所冇客户端建立同一个对象实例。当对象处沪活动状态时,SingleTon实例会处理所冇p來的客户端访问请求,而不管它们足同一个客户端,还足其他客户端。SingleTon实例将在方法调用屮一直维持K状态。举例来说

8、,如果一个远程对象柯一个累加方法(i=0;++i),被多个客户端(例如两个)调用。如果设置为SingleTon方式,则第一个客户获得值为1,第二个客广获得值为2,因为他们获得的对象实例是相同的。如果熟悉ASP.Net的状态管理,我们吋以认为它是一种Application状态。SingleCall模式:SingleCall是一种无状态模式。一旦设置为SingleCall模式,则当客户端调川远程对象的方法吋,Remoting会为每一个客户端建立一个远程对象实例,至于对象实例的销毁则是由GCA动管理的。M上一个例子而言,则访问远程对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。