asp.net开发webgame的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 13:37:05
为了学习,我想用asp.net写个webgame,我不想直接操作数据库,而是通过对象进行一系列活动后再修改数据库,比如我点了页面的一个按钮,然后服务器上产生一个hero对象,hero对象自动完成一系列事情,最后把完成后的结果写入数据库。我再点页面的另一个按钮就可以看到hero当前做的事情和状态。
我知道直接操作数据库(点击按钮后进行逻辑处理再修改数据库)是可以的,但我想采用更灵活一点的方式(比如建立对象,然后常驻内存),我查了资料据说可以采用remoting,建立服务器端等等,这里想请各位达人指点一下要达到我的模式有哪些方法,以及这些方法的基础知识,万分感激。

好同志,挺你一下,下面是一个简单的DB Cache。送你了~不要小看,对减少交互效果还是比较显著的。对了,是C#代码。

using System;
using System.Collections.Generic;

namespace DomainBase
{
public class ObjectCache
{
//Dictionary<K,T> 会自动维护一个空链表来保存不用的单元。
//这里,使用被缓存对象的“弱引用”,允许这些对象被垃圾回收。

private Dictionary<string, WeakReference> Buffer = new Dictionary<string, WeakReference>();

public object this[string key]
{
get
{
WeakReference ret;
if (Buffer.TryGetValue(key, out ret) && ret.IsAlive)
return ret.Target;
else
return null;
}
set
{
WeakReference ret;
if (Buffer.TryGetValue(key, out ret))
ret.Target = value;
else
Buffer.Add(key, new WeakReference(value));
}
}

public void Remove(string key)
{
Buffer.Remove(key);
}
}
}

这就是最简单的Cache。例如:

public Class User
{
static O