第7章 .NET Remoting

第7章 .NET Remoting

ID:46587201

大小:603.02 KB

页数:27页

时间:2019-11-25

第7章 .NET Remoting_第1页
第7章 .NET Remoting_第2页
第7章 .NET Remoting_第3页
第7章 .NET Remoting_第4页
第7章 .NET Remoting_第5页
资源描述:

《第7章 .NET Remoting》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.NET.NET程序设计程序设计第第77章章.NET.NETRemotingRemoting田英鑫tyx@hit.edu.cn哈尔滨工业大学软件学院哈尔滨工业大学软件学院第7章.NETRemoting.NET.NETRemotingRemoting2/27&本章导读n.NETRemoting概述n远程对象调用方式n远程对象的激活模式n通道(Channels)n客户端注册远程类对象n构建.NETRemoting应用程序n.NETRemoting中的事件处理n异步操作第7章.NETRemoting.NET.NETRemotingRemoting概述概述3/27n什么是.NET

2、Remoting?n.NETRemoting为开发者提供了一个分布式对象模型,该模型允许在不同的CLR中进行远程方法调用n与其它技术的比较nXMLWebServicesn使用HTTP、SOAP协议,以XML传输数据,具有高度的通用性和互操作性,执行效率较低nDCOMn扩展性不好,但技术成熟、安全性好n.NETRemotingn具有以上两种技术的优点第7章.NETRemoting.NET.NETRemotingRemoting概述概述4/27n.NETRemoting的含义nWebServicesAnywherenWebServices需要Web服务器(IIS)的支持n.N

3、ETRemoting可以托管于任意类型的应用程序n控制台应用程序nWindows窗体程序nWindows服务nIISn.NETRemoting可以选择不同的传输协议nTCP或HTTPnCLR模式下的DCOM第7章.NETRemoting.NET.NETRemotingRemoting概述概述5/27n.NETRemoting的工作流程ClientServiceClientObjectServerObjectProxyFormatterFormatterChannelChannel第7章.NETRemoting远程对象调用方式远程对象调用方式6/27nMarshalbyRe

4、ference(MBR)n通过引用传递远程对象,远程对象必须直接或间接继承自System.MarshalByRefObject类n对于MBR的远程对象,客户端并不调用实际远程对象的方法,而是调用远程对象的一个代理对象,代理对象是远程对象在客户端的表现nMarshalbyValue(MBV)n如果远程对象并非从System.MarshalByRefObject派生,那么该远程对象将作为一个值传递给服务器端,此时远程对象必须实现ISerializable接口第7章.NETRemoting远程对象的激活模式远程对象的激活模式7/27n服务端激活n客户端请求服务器端激活类型的实例

5、时,有两种激活模式nSingleton模式:客户端共享同一个远程对象nSingleCall模式:每一个客户端的远程方法调用都会创建一个远程对象实例RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotableClass),//远程类类型"RemoteObject",//远程类的URIWellKnownObjectMode.SingleCall//激活模式);第7章.NETRemoting远程对象的激活模式远程对象的激活模式8/27n客户端激活n客户端创建服务器对象的实例时会与服务器进行通信,服务器创建

6、远程对象后返回该对象的引用,然后客户端使用此对象引用创建客户端代理RemotingConfiguration.RegisterActivatedServiceType(typeof(RemotableClass)//远程类类型);第7章.NETRemoting通道(通道(ChannelsChannels))9/27n什么是通道(Channels)?n通道用于在远程对象之间传输消息n当客户端调用某个远程对象上的方法时,与该调用相关的参数以及其他详细信息会通过通道传输到远程对象n调用的任何结果都会以同样的方式返回给客户端n通道的分类nHTTP通道nHTTP通道使用SOAP协议

7、与远程对象传输消息。所有的消息流过SOAP格式化程序时都被转换为XML格式且被序列化nTCP通道nTCP通道使用二进制格式化程序将所有的消息序列化为二进制流,并使用TCP协议将其传输到目标URI第7章.NETRemoting通道(通道(ChannelsChannels))10/27n注册通道n注册服务器端通道TcpServerChannelchannel=newTcpServerChannel(1234);ChannelServices.RegisterChannel(channel);n注册客户端通道TcpClientCha

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

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

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