我的一亩三分地 我就喜欢!
网站首页
网管
论坛
环境保护
方便网址
网管助手
软件
下载
网站地图
设为主页
收藏本站
当前位置: >
一亩三分地:首页
>
网络学院
>
网络编程
>
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做全文检索
文章评论:
(条)
请留名:
匿名评论
点击查看所有评论
网管论坛
责任编辑:
一分
声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。