社区
C#
帖子详情
如何把业务对象持久化到内存中
david_ye
2003-08-25 01:57:34
服务器端把业务对象持久化到内存中,根据客户端传来的对象名,在服务器端实例化一个对象,并返回给客户端
...全文
143
18
打赏
收藏
如何把业务对象持久化到内存中
服务器端把业务对象持久化到内存中,根据客户端传来的对象名,在服务器端实例化一个对象,并返回给客户端
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yanghuanji
2003-12-26
打赏
举报
回复
这个问题的解决我推荐:http://www.marshine.com中持久化PDO结构。请各位参看。
david_ye
2003-09-03
打赏
举报
回复
该贴已结
timmy3310
2003-09-02
打赏
举报
回复
对象池使用到了Com+服务
你的业务对象必须从System.EnterpriseServices.ServicedComponent派生:
并且应用ObjectPooling属性
[ObjectPooling(Enabled=true, MinPoolSize=2, MaxPoolSize=5, CreationTimeOut=20000)]
public class TestObjectPooling : ServicedComponent
{
public void Perform ()
{
// 主要的方法
// 业务逻辑
}
public override void Activate()
{
// 当对象被激活的时候由Com+调用
}
public override void Deactivate()
{
// 当对象被停用的时侯由Com+调用
}
public override bool CanBePooled()
{
// 返回一个值,表示此对象能否被放入池中缓存
return true;
}
}
在客户端:
//用new创建对象,由于该类型使用了对象池,因此实际上是在池中获取缓存的对象返回,然后由obj变量引用
TestObjectPooling obj = new TestObjectPooling();
obj.Perform();//调用业务逻辑
//释放引用,该对象会被对象池处理,决定是否放回池中
ServicedComponent.DisposeObject (order);
另外,ServicedComponent本身从MarshalByRefObject派生,因此可以直接配置为远程对象,所以你可以把Com+组件注册到服务器端,客户端进行远程配置就行了,上面的代码不用更改。
关于ServicedComponent和.Net Remoting,恕我不能一一道明,这方面的内容以前的帖子有很多,而且MSDN中的帮助也很清楚,我只是给你指个方向,不可能将那么完整,毕竟内容比较多。
david_ye
2003-09-02
打赏
举报
回复
To: timmy3310(Tim)
能在在详细点?
youwanna
2003-09-01
打赏
举报
回复
老大,能详细一点吗?
强烈gz
lx1920
2003-09-01
打赏
举报
回复
也可以使用静态的hashtable
public class TestHash
{
private static Hashtable myObject1=null;
public TestHash()
{
//实例化对象时将一些对象放入hashtable
}
}
timmy3310
2003-09-01
打赏
举报
回复
可以使用Com+的对象池,结合.Net Remoting来完成你的任务
简单的使用对象池的列子:
[ObjectPooling(Enabled=true, MinPoolSize=2, MaxPoolSize=5, CreationTimeOut=20000)]
public class TestObjectPooling : ServicedComponent
{
public void Perform ()
{
// 主要的方法
}
public override void Activate()
{
// 当对象被激活的时候由Com+调用
}
public override void Deactivate()
{
// 当对象被停用的时侯由Com+调用
}
public override bool CanBePooled()
{
// 返回一个值,表示此对象能否被放入池中缓存
return true;
}
}
timmy3310
2003-09-01
打赏
举报
回复
可以使用Com+的对象池,结合.Net Remoting来完成你的任务
简单的使用对象池的列子:
[ObjectPooling(Enabled=true, MinPoolSize=2, MaxPoolSize=5, CreationTimeOut=20000)]
public class TestObjectPooling : ServicedComponent
{
public void Perform ()
{
// 主要的方法
}
public override void Activate()
{
// 当对象被激活的时候由Com+调用
}
public override void Deactivate()
{
// 当对象被停用的时侯由Com+调用
}
public override bool CanBePooled()
{
// 返回一个值,表示此对象能否被放入池中缓存
return true;
}
}
david_ye
2003-09-01
打赏
举报
回复
给位大哥能给个例子吗?
qhgary
2003-08-29
打赏
举报
回复
用.net remoting不就行了么,这些都已经做好的啊
qqchen79
2003-08-28
打赏
举报
回复
>> 请问在.NET中用什么方法开辟缓存池,
MemoryStream
>> 如何把我的类缓存到内存中,谢谢!
Serialization
xys2003
2003-08-28
打赏
举报
回复
学习
qiujoe
2003-08-28
打赏
举报
回复
试试com+对象池
david_ye
2003-08-28
打赏
举报
回复
整个CSDN难道没有人知道吗?
david_ye
2003-08-26
打赏
举报
回复
To: freeboy0002(晓风残月)
请问在.NET中用什么方法开辟缓存池,如何把我的类缓存到内存中,谢谢!
freeboy0002
2003-08-25
打赏
举报
回复
不过你要自己维护和优化缓存池,不是很方便
freeboy0002
2003-08-25
打赏
举报
回复
你是实现类似Ejb中实体Bean的持久化吧?
可以开辟一个缓存池,然后配合使用“工厂方法“和“单态“的设计模式,创建的时候先去池中找,找到后返回实例,如没有发现,创建实例加入到池中
可使用Activator.CreateInstance(Type.GetType(className));动态创建对象
Brunhild
2003-08-25
打赏
举报
回复
这有点象remoting,有兴趣可以看看。
1. Java
对象
持久化
概述
1. Java
对象
持久化
概述 1.1. 应用程序的分层体系结构 1.1.1. 基于B/S的典型三层架构[t1] 说明: 1, 展现层:提供与用户交互的界面。 2,
业务
逻辑层:实现各种
业务
逻辑。 3, 数据访问层:负责存放和...
Java-
持久化
的理解
在《精通 Hibernate:Java
对象
持久化
技术详解(第2版)》
中
看到过一个很好的解释 狭义的理解,“
持久化
”仅指把域
对象
永久保存到数据库
中
;广义的理解,“
持久化
”包括和数据库相关的各种操作。 保存:把域
对象
永久...
持久化
类和
持久化
对象
的区别
即把数据(如
内存
中
的
对象
)保存到可永久保存的存储设备
中
(如磁盘)。
持久化
的主要应用是将
内存
中
的
对象
存储在关系型的数据库
中
,当然也可以存储在磁盘文件
中
、XML数据文件
中
等等。 一般来说,
持久化
类(persistent ...
数据
持久化
怎么理解
数据
持久化
就是将
内存
中
的数据模型转换为存储模型,以及将存储模型转换为
内存
中
的数据模型的统称.。 狭义的理解: “
持久化
”仅仅指把域
对象
永久保存到数据库
中
; 广义的理解,“
持久化
”包括和数据库相关的各种...
什么是
持久化
? 为什么要
持久化
?
狭义的理解: “
持久化
”仅仅指把域
对象
永久保存到数据库
中
;广义的理解,“
持久化
”包括和数据库相关的各种操作(
持久化
就是将有用的数据以某种技术保存起来,将来可以再次取出来应用,数据库技术,将
内存
数据以文件的...
C#
110,502
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章