较为周全的Asp.net提交验证方案(Session版)

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

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

实现方案简述:

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

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

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

代码讲解:

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

///

/// 验证信息表

///

static Hashtable 验证信息

{

    get

    {

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

    }

    set

    {

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

    }

}

NET技术较为周全的Asp.net提交验证方案(Session版),转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。