asp.Netページキャッシュをクリアし、ページロールバックの重複コミットデータを防止し、同じユーザーが同時にログインすることを防止する

1445 ワード

        //      ,                                 ,          。
        Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
        /*
                   ,             (        ),                  。
               cache          ,                          ?       cache     ,       cache   。          session     ,     session          cache          .
                       ,      ,         :
        */
        string key = TextBox1.Text; //        cache    
        string uer = Convert.ToString(Cache[key]); //  cache       
        //  cache         ,        ,       
        if (uer == null || uer == String.Empty)
        {
            //  cache    

            TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);

            //                 cache ,
            HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null);
            Session["ADMINID"] = TextBox1.Text;
            Response.Redirect("main.aspx");
        }
        else
        {
            //    
            Response.Write("<script>alert('        !');window.location='login.aspx';</script>");
        }