首页 > 其他 > 详细

Session的使用过程中应注意的一个小问题

时间:2015-02-06 09:20:39      阅读:278      评论:0      收藏:0      [点我收藏+]

  在学习AllEmpty大神的从零开始编写自己的C#框架系列文章中,发现的问题:在验证码的缓存Session["vcode"]的赋值时,发现Session["vcode"]的值一直为null。

  发现原来是在调用验证码生成类给Session["vcode"]赋值时,这个Session["vcode"]还没有创建,所以无法赋值。

1  //生成验证码
2 imgCaptcha.ImageUrl = "Application/Vcode.ashx?t=" + DateTime.Now.Ticks;

Vcode.ashx中,验证码生成并向Session["vcode"]赋值:

 1 VerificationCode vcode = new VerificationCode
 2             {
 3                 CountCode = 5,
 4                 ImageHeight = 32,
 5                 ImageWidth = 100,
 6                 NoiseLine = 50,
 7                 NoisePoint = 80,
 8                 FontSize = 24
 9             };
10             //生成验证码
11             vcode.GetCaptcha();
12             //向Session["vcode"]中赋值
13             HttpContext.Current.Session["vcode"] = vcode.Code;
14             string code = HttpContext.Current.Session["vcode"].ToString();//调试用,会报【未将对象引用设置到对象的实例】错误

解决办法是在调用Vcode.ashx之前,声明Session["vcode"]

1                 //声明Session["vcode"],并赋空值
2                 Session["vcode"] = string.Empty;
3                 //生成验证码
4                 imgCaptcha.ImageUrl = "Application/Vcode.ashx?t=" + DateTime.Now.Ticks;

 

Session的使用过程中应注意的一个小问题

原文:http://www.cnblogs.com/Amyn/p/4276344.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!