心跳技术联盟-.Net Remoting-分布式应用程序构建.ppt
文本预览下载声明
.Net Remoting-分布式应用程序构建 主要内容 什么是Remoting 可远程处理的对象 远程对象的激活方式 建立Remoting应用程序的步骤 基于配置文件的Remoting应用程序 相关资源 总结 1、什么是Remoting →构建面向对象的分布式应用程序解决方案 2、特点 →配置灵活 .net中可选的其它构建分布式应用程序解决方案 EnterpriseServices (企业级服务) A(Xml Web Service) 1、可远程处理与不可远程处理的对象 可远程处理的对象 可在应用程序域之间传递的对象。 →远程对象都是可以被序列化的。 不可远程处理的对象 不可在应用程序域之间传递的对象,只能在创建其的应用程序域内访问。 2、远程处理对象的传递方式 值封送:传递对象的副本 引用封送:传递对象的引用(代理) 1、服务器激活 Singleton:服务器端最多拥有一个远程对象的实例 所有客户端使用服务器上的同一远程对象实例(无法保持客户端状态) SingleCall:为每个客户端的请求都建立实例,调用结束后对象被立即释放 不存在对象生存期管理问题 服务器激活方式的远程对象,在客户端创建时,只能调用默认的构造函数 2、客户端激活 每个客户端在服务器端都保持一个远程对象的实例,这样服务器可以为每个客户端保持状态。 1、创建可远程处理的对象 2、创建服务器端应用程序 3、创建客户端应用程序 不论所要开发的程序有多复杂,此步骤都适合。 根据远程对象传递方式的不同,有两种创建远程对象的方式 1、创建按值封送的远程对象 应用SerializableAttribute 实例ISerializable 2、创建按引用封送的远程对象 从MarshalByRefObject 创建派生类 创建服务器端应用程序时,主要完成以下工作 1、选择、配置并注册信道 选择一个合适的信道 对该信道进行配置(指定端口号) 向Remoting基础框架注册该信道 2、配置并注册可远程处理的对象(如果一个远程对象是按值进行传递的,则该类型不需要进行注册) 配置对象的激活方式与访问URL 将对象注册给Remoting基础框 创建客户端应用程序时,主要完成以下工作 1、选择并注册信道 选择一个合适的信道 向Remoting基础框注册该信道 2、配置并注册可远程处理的对象(如果一个远程对象是按值进行传递的,则该类型不需要进行注册) 配置对象的激活方式与访问URL 将对象注册给Remoting基础框 如果配置是编程方式的,则第2步骤可以省略 1、Remoting应用程序的配置 以编程方式配置Remoting应用程序 具体配置与代码混合,当配置发生变化时,代码也要发生变动,造成程序的重新编译与发布。 以配置文件方式配置Remoting应用程序 使用Remoting配置与代码分隔,使配置的变动不会影响已经成功发布的应用程序 2、Remoting基础框提供了Remoting配置 服务器端与客户端的配置不尽相同,但却很类似 可配置的信息包括:信道、端口、对象URL、激活方式等。 ?xml version=1.0 encoding=utf-8 ? configuration system.runtime.remoting application service !-- activated type=Remoting.Type.ServerMathine,RemotingClassLibrary/ -- wellknown mode=Singleton type=Remoting.Type.ServerMathine,RemotingClassLibrary objectUri=ServerMathine/ /service channels channel port=8000 ref=tcp/ channel port=8001 ref=http/ /channels /application /system.runtime.remoting /configuration ?xml version=1.0 encoding=utf-8 ? configuration system.runtime.remoting application client url=tcp://51:8000 !-- activated type=Remoting.Type.ServerMathine,RemotingClassLibrary/
显示全部