每次登出时都注销,但是在开发asp.net上可以正常工作

时间:2018-08-01 07:34:20

标签: c# asp.net sql-server

每次成功登录后切换到任何页面时遇到的问题。每次都需要登录凭据,而我却正确维护了会话状态。

在开发服务器上完美工作,而在生产问题上出现。请提出建议。从最近两年开始,项目在运行的最后10天发生了问题。我的网站发布在共享服务器上

登录页面:

protected void btnLogin_Click(object sender, EventArgs e)
    {
        String strCheckStatus = String.Empty;
        g_strContact = txtPhone.Text;
        String strLoginPassword = txtPassword.Text;
        List<SqlParameter> parameters = new List<SqlParameter>
           {    
              new SqlParameter("@P_MOBILE_NO", g_strContact),
              new SqlParameter("@P_PASSWORD", strLoginPassword),
            };
        strCheckStatus = ExecuteQueryStoredProcedure(strUSP_SEC_LOGIN_PROCESS, parameters);
        if (strCheckStatus == "0")
        {
            //login successfull
            Session["Name"] = g_strName;
            Session["MobileNumber"] = g_strContact;
            Session["SlabType"] = g_strSlabType;
            Session["UserType"] = g_strUserType;
            Session["AssociateMobileNo"] = g_strContact;
            if (g_strUserType == "Admin")
            {                    FormsAuthentication.RedirectFromLoginPage(Session["MobileNumber"].ToString(), false);
            }
    }

在页面加载事件的每个页面中进行会话维护:

protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["MobileNumber"] != null)
     {
         lblMobile.Text = Session["MobileNumber"].ToString();
     }
     else
     {
         var returnUrl = Server.UrlEncode(Request.Url.PathAndQuery);
         Response.Redirect("~/Login.aspx?ReturnURL=" + returnUrl);
     }
     if (!this.IsPostBack)
     {
         PopulateGrid();
         PopulateData();
     }
 }

0 个答案:

没有答案