示例#1
0
        public static FormsAuthenticationTicket RenewTicketIfOld(FormsAuthenticationTicket tOld)
        {
            if (tOld == null)
            {
                return(null);
            }

            DateTime now          = DateTime.Now;
            TimeSpan toIssue      = now - tOld.IssueDate;
            TimeSpan toExpiration = tOld.Expiration - now;

            if (toExpiration > toIssue)
            {
                return(tOld);
            }

            FormsAuthenticationTicket tNew = tOld.Clone();

            tNew.SetDates(now, now + (tOld.Expiration - tOld.IssueDate));
            return(tNew);
        }