码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-02-06 09:22:15      阅读:194      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!