使用.NET Remoting 建立分布式应用程序

mac2022-06-30  33

什么是Remoting---分布式对象Remote ObjectRemoting的优势---性能,扩展性,可配置性,安全,生存周期管理Remoting使用的技术---XML,SOAP(简单对象传输协议),Serializable(序列化)Demo序列化   ---二进制,SOAP,XMLRemoting框架---                          System.Object不可远程化          passed by reference          MarshalByRefObject                       Passed by value Server-Activated   Client-Activated  Published  (WellKnown)     Singleton         Registered                    Serializable     SingleCall        Created by factory            ISerializable远程对象---操作远程对象:对象运行在远程,客户端向他发送消息。MarshalByRefObject---传递远程对象:将远程对象拿到本地或者将本地对象发送过去,对副本进行操作。[Serializable]或ISerializable服务器端激活(WellKnown)---Singleton---SingleCall客户端激活通道(Channels)---一个远程对象使用通道来发送和接收消息。服务器选择一个通道来监听请求,客户端选择通道来和服务器通讯。---TCP通道和HTTP通道Remoting开发的三个步骤---创建远程对象   ---创建一个类继承System.MarshalByRefObject,并实现业务---创建一个应用程序作为“宿主(host)”,以接收客户请求   ---注册通道(TCP,HTTP)   ---注册服务器激活的远程对象(WellKnown)      ---Singleton or SingleCall      ---URL   ---运行宿主程序---创建一个客户端程序   ---注册通道(TCP,HTTP)   ---根据URL得到对象代理   ---使用代理调用远程对象DEMOSingleton VS. SingleCall---都是服务器激活的对象(WellKnown)---Singleton单实例   ---在服务器端只实例化一次   ---以后每次调用都访问同一个实例,不论同一客户端还是不同客户端   ---可以维持状态---SingleCall单调用   ---每次调用都实例化新的实例   ---更好的支持无状态编程模型获取远程对象Serialization VS. MarshalByRefObject按值列集(Serialization)---得到远程对象的副本---对副本的操作不影响远程对象---不论远程对象是Singleton还是SingleCall按引用列集(MarshalByRefObject)---得到远程对象的引用,本地创建代理(Proxy)---通过代理访问远程对象---Singleton记录更改,SingleCall无状态DemoRemoting的模式---服务器/客户端模式

转载于:https://www.cnblogs.com/hotsoho.net/archive/2006/05/18/403821.html

相关资源:使用.NET Remoting 建立分布式应用程序(二)
最新回复(0)