Asp.net会话终止

时间:2013-07-18 09:08:52

标签: c# asp.net

当我杀死会话并再次通过它的url它显示我的用户名。 我试过session.abandon()session.RemoveAll()session.Clear() .... 帮助将不胜感激。 提前致谢。 嘿伙计们谢谢。 但是当我浏览浏览器后退按钮时,代码工作正常,但在手动粘贴URL时非常有用。这是代码

public partial class products : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["full_name"] == null)
        {
            Response.Write("<script language='javascript'>alert('Your are Logged out.Please sign In to Continue.');location='Log-In.aspx'</script>");   
        }
        else
        {
            Response.Write("hi "+Session["full_name"].ToString());
        }
    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session.Remove("full_name");
        Session.Abandon();
        Response.Write("<script language='javascript'> alert('logged out successfully');location='Log-In.aspx'</script>");
    }
}

希望它会有所帮助

3 个答案:

答案 0 :(得分:2)

你不想退出用户吗?在这种情况下,会话的终止将不适合您。 如果您使用表单身份验证,则可以执行FormsAuthentication.SignOut方法来执行此操作。

答案 1 :(得分:0)

将此代码放在您要退出的网页的Load事件中。

    Response.Clear();
    Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
    Response.Cache.SetNoStore();
    Response.Cache.SetCacheability(HttpCacheability.NoCache);

并调用您问题中提到的任何上述方法来终止会话。

答案 2 :(得分:0)

使用此代码。希望问题能解决

//old authentication, kill it
FormsAuthentication.SignOut();
//or use Response.Redirect to go to a different page
FormsAuthentication.RedirectToLoginPage("Session=Expired");
HttpContext.Current.Response.End();