我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp组件/脚本 > 一步一步学Remoting之三:复杂对象
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

一步一步学Remoting之三:复杂对象 

作者:佚名   来源:一亩三分地   点击:   日期:2007-03-28

这里说的复杂对象是比较复杂的类的实例,比如说我们在应用中经常使用的DataSet,我们自己的类等,通常我们会给远程的对象传递一些自己的类,或者要求对象返回处理的结果,这个时候通常也就是需要远程对象有状态,上次我们说了几种激活模式提到说只有客户端激活和Singleton是有状态的,而客户端激活和Singleton区别在于Singleton是共享对象的。因此我们可以选择符合自己条件的激活方式:
                        状态      拥有各自实例
Singleton              有            无
SingleCall              无            有
客户端激活              有            有
 
在这里,我们先演示自定义类的传入传出:
先说一个概念:MBV就是按值编码,对象存储在数据流中,用于在网络另外一端创建对象副本。MBR就是按引用编组,在客户机上创建代理,远程对象创建ObjRef实例,实例被串行化传递。

我们先来修改一下远程对象:
using System; 

namespace RemoteObject 

    
public class MyObject:MarshalByRefObject 
    { 
        
private MBV _mbv;
        
private MBR _mbr;
        
public int Add(int a,int b) 
        { 
            
return a+b; 
        } 

        
public MBV GetMBV()
        {
            
return new MBV(100);
        }

        
public MBR GetMBR()
        {
            
return new MBR(200);
        }

        
public void SetMBV(MBV mbv)
        {
            
this._mbv=mbv;
        }

        
public int UseMBV()
        {
            
return this._mbv.Data;
        }

        
public void SetMBR(MBR mbr)
        {
            
this._mbr=mbr;
        }

        
public int UseMBR()
        {
            
return this._mbr.Data;
        }
    } 

    [Serializable]
    
public class MBV
    {
        
private int _data;
        
public MBV(int data)
        {
            
this._data=data;
        }
        
public int
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。