asp.Netページキャッシュクリア同時ログイン防止

2856 ワード

//      ,                                 ,          。

    

    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>”);

    

    }