在asp.net中使用计时器登出时出错

时间:2017-05-10 06:35:44

标签: asp.net

每当我点击退出按钮时,它都会进入注销页面,但是Timer1_Tick功能不起作用,并且在注销页面中停止执行。它不会进入GuestUser_HOME.aspx页面。 注销页面中的代码在这里。

    public partial class WebForm24 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Cache.SetNoStore();
    }
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        //string redirectUrl = FormsAuthentication.LoginUrl + "?
        ReturnUrl=index2.html"; 
        FormsAuthentication.SignOut();
        Session["email"] = null;
        Response.Redirect("GuestUser_HOME.aspx");
    }
}

1 个答案:

答案 0 :(得分:0)

你确定你的计时器已经开始了吗? 在运行时检查 IsEnabled 属性,找出它是否启用。

但更好的解决方案如下,

首先: 为实现注销操作创建一个函数。

第二名: 在正确的位置使用此功能,例如在按钮的Click Event或注销页面的Page Load事件中。

第三名: 如果你想在TimerTickEvent中实现这个操作,你必须在完成注销操作后停止计时器,并检查用户是否登录运行SignOut操作而不是e