您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> .NET >> session为null

session为null

来源:网络整理     时间:2016/6/28 12:32:16     关键词:

关于网友提出的“ session为null”问题疑问,本网通过在网上对“ session为null”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: session为null
描述:

代码如下:


//把验证码放在session里
        string so = "1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
        string[] strArr = so.Split(',');
        string code = "";
        Random rand = new Random();
        for (int i = 0; i < codeLength; i++)
        {
            code += strArr[rand.Next(0, strArr.Length)];
        }
        Session.Add("Volidate", code);
        return code;

//登陆代码:
    $.ajax({
           type:"get",
           url:"/Register/checkUserLogin.ashx",  data:{"loginUserName":$.trim($("#loginUserName").val()),"loginPassWord":$.trim($("#loginPassWord").val()),"loginSofeCode":$.trim($("#loginSofeCode").val())},       
           success:function(msg){
               var errorMessage="";
               var success="0";
               switch(msg)
               {
                  case "Serror":
                     errorMessage="Security code is wrong!";
                     break;                   case "sessionnulll":                      errorMessage="sessionnull";                      break;                   default:                      success="1";                      break;                }                                if(success=="0")                {                   alert(errorMessage);                }                else
               {                     location.href='/';                }                return false;            },            error:function(msg){                 alert(msg);                 location.reload();            }                    });


//checkUserLogin.ashx中的代码
string errorMessage = "";                     string type = "";                     try                     {                         string sofeCode = context.Request.QueryString["loginSofeCode"].ToString();                         string loginPassWord = context.Request.QueryString["loginPassWord"].ToString().Trim();                         string loginUserName = context.Request.QueryString["loginUserName"].ToString().Trim();                         if (context.Session["Volidate"] == null)                         {                             errorMessage = "sessionnulll";                         }                         else if (sofeCode.Trim() != context.Session["Volidate"].ToString().Trim())                         {                             errorMessage = "Serror";                         }                         else                         {                                                      }                         context.Response.ContentType = "text/plain";                         context.Response.Write(errorMessage.ToString());                     }                     catch (Exception ex)                     {                         context.Response.Write(ex.Message);                     }
每当第一次打开页面的时候都会提示session为null 当页面刷新后能正常登陆 web.config里没有配置sessionState 只是在IIS的编辑配置里把会话状态模式设置成InProc 时间是30分钟 实在不懂是什么回事···向各位请教了··谢谢··
解决方案1:


if (Session["Volidate"] != null)
        {
            Session["Volidate"] = null;
            Session.Add("Volidate", code);         }         else         {
            Session.Add("Volidate", code);
/>         }
第一次先清理session中的值解决方案2:

我到没碰到过这种情况。每次都是Session[""]=="";直接赋值的。楼主设置断点调试下看看。看第一次是否确定已经赋值成功

解决方案3:

断点。看看 第一次 为什么没给上值 难道是传说中的。。。。。。缓存?

解决方案4:

引用 4 楼 together14629 的回复:
各种的无语··我重新做了个测试页面··· C# code
    protected void btn_Click(object sender, EventArgs e)     {         Response.Write("
---------------------------------------------------------------------------……

/>
那你解决了吗?
以上介绍了“ session为null”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2129288.html

相关图片

相关文章