C# asp:LoginStatus在一段时间后自动注销

C# asp:LoginStatus在一段时间后自动注销,c#,asp.net,C#,Asp.net,我在母版页上有asp:LoginStatus,在我的login.aspx.cs文件中有login按钮,该按钮具有所选的事件处理程序 protected void btLogIn_Click(object sender, EventArgs e) { int chk = _dbobj.CheckingIfUserExists(tbUserName_login.Text, tbPassword_login.Text); if (chk != 0)

我在母版页上有
asp:LoginStatus
,在我的
login.aspx.cs
文件中有login按钮,该按钮具有所选的事件处理程序

  protected void btLogIn_Click(object sender, EventArgs e)
    {
        int chk = _dbobj.CheckingIfUserExists(tbUserName_login.Text, tbPassword_login.Text);
        if (chk != 0)
        {
            Response.Cookies["UserName"].Value = tbUserName_login.Text.Trim();
            lbUserNameValidation_logIn.Text = "";
            Response.Redirect("Home.aspx", false);

            if (chbRemember_login.Checked)
            {
                Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(1);
                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(tbUserName_login.Text, true);
            }
            else
            {
                Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(-1);
                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(tbUserName_login.Text, false);
            }

        }
        else
           ............

当我未选中记住复选框而登录时,它仍会记住,并且在关闭和打开页面后不会设置loggedout。请帮助我解决此问题。

使用
page.Session.Timeout
属性设置会话超时

.net的默认超时为20minites

有关.NET中的HttpSessionState.Timeout属性,请参阅此链接


希望对您有所帮助。

将Expires属性设置为MinValue将使其成为会话Cookie

cookie.Expires = DateTime.MinValue
过期会话意味着cookie在打开带有页面的浏览器窗口时仍然有效