当前位置:首页 > Asp.net提交验证方案(Session版)

Asp.net提交验证方案(Session版)

点击次数:1230  更新日期:2010-12-31
\n



Asp.net提交验证方案(上)

Asp.net提交验证方案(下)


\n
\n

此前我介绍了使用数据库实现的提交验证方案,一些朋友怀疑其效率不佳,认为Session是更好的方案。


\n

的确使用Session也不会消耗太多内存,而且如今内存白菜价,最不济就随手买个2G的插上也就够了,所以我将在此写下Session版的实现提要,其余细节参考前篇。


\n

实现方案简述:


\n

Session中存储一个哈希表用以记录该用户的每一条验证信息,哈希表的键为验证信息的过期时间,值为验证码的明文。


\n

过期时间使用ViewState存储,以发给客户端,并在提交时获取,以读取对应的验证码明文。


\n

传给验证码生成页面的ID参数是经ToFileTime()方法转换的过期时间,验证码生成页获取到此参数后进行逆转换,再读取对应的验证码明文以生成显示。


\n

代码讲解:


\n

先建立一个静态类,名为“提交验证”,将用于存储验证信息的Session变量封装为一个属性:


\n

\n

/// <summary>


\n

/// 验证信息表


\n

/// </summary>


\n

static Hashtable 验证信息


\n

{


\n

get


\n

{


\n

return Core.函数库.网络.Session["验证信息"] as Hashtable;


\n

}


\n

set


\n

{


\n

Core.函数库.网络.Session["验证信息"] = value;


\n

}


\n

}

\n