asp.net Web应用程序中的会话超时自动 [英] session time out automatically in asp.net web application

查看:106
本文介绍了asp.net Web应用程序中的会话超时自动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在用c#在asp.net中开发Web应用程序.我正在登录页面中创建会话.
并将其显示到另一个页面.它工作正常,但是当我将其上传到服务器时.
20 -30秒后,我的会话会自动超时.我正在使用web.config,其中会话超时为20分钟.
谁能解决我的问题
在此先感谢.

我的代码如下所示:
在登录页面中的按钮单击事件如下:

字符串用户类型;

 受保护的  void  btnlogin_Click(对象发​​件人,EventArgs e)
    {
        cmd =  SqlCommand(" ,骗局);
        dr = cmd.ExecuteReader();
         while (dr.Read())
        {
            如果(txtusername.Value == dr [ 0 ].ToString()&& txtpass.Value == dr [ 1 ].ToString())
            {
                usertype = dr [ 2 ].ToString();
                标志=  true ;
                 break ;
            }
            其他
            {
                标志=  false ;
            }
        }
        dr.Close();
        如果(标志==  true )
        {
            会话[" ] =用户类型;
            Response.Redirect(" );
        }
        其他
        {
            //  Response.Redirect(〜/GPS/Default.aspx"); 
            //  Response.Write("Username" + dr [0] .ToString()); 
            //  Response.Write("password" + dr [1] .ToString()); 
            //  Response.Write(无效的登录名或密码"); 
            Response.Redirect(" );
        }
    } 



我在另一个页面上将此值打印在页面加载事件中.

 字符串 sessname;
    受保护的 无效 Page_Load(对象发​​件人,EventArgs e)
    {
        sessname =会话[" ].ToString();
        Response.Write(sessname);
    } 

解决方案

一个原因可能是IIS中的会话出于某些原因进行了相同的讨论 [如何使ASP.NET会话保持活动状态 [protected void btnlogin_Click(object sender, EventArgs e) { cmd = new SqlCommand("Select UserName,Password,Type from tblLogin", con); dr = cmd.ExecuteReader(); while (dr.Read()) { if (txtusername.Value == dr[0].ToString() && txtpass.Value == dr[1].ToString()) { usertype = dr[2].ToString(); flag = true; break; } else { flag = false; } } dr.Close(); if (flag == true) { Session["utype"] = usertype; Response.Redirect("Default3.aspx"); } else { //Response.Redirect("~/GPS/Default.aspx"); //Response.Write("Username " + dr[0].ToString()); //Response.Write("password " + dr[1].ToString()); //Response.Write("Invalid LoginName Or Password"); Response.Redirect("Default.aspx"); } }



and i print this value in another page like this on page load event.

string sessname;
    protected void Page_Load(object sender, EventArgs e)
    {
        sessname = Session["utype"].ToString();
        Response.Write(sessname);
    }

解决方案

One reason may be session in IIS configure the Timeout Setting for IIS sessions[^]

same discussion with some reasons[^]


It''s an another way to resolve your issue(with out increasing session time out).

How To Keep ASP.NET Session Alive[^]


这篇关于asp.net Web应用程序中的会话超时自动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆