/// <summary>
        /// 从Cookie中得到Ticket
        /// </summary>
        /// <returns><see cref="ITicket"/> 对象。</returns>
        public static ITicket GetTicket(out TicketSource tickedSource)
        {
            tickedSource = TicketSource.Unknown;

            Common.CheckHttpContext();

            HttpContext context = HttpContext.Current;

            ITicket ticket = null;

            if (PassportClientSettings.GetConfig().Method == TicketTransferMethod.HttpPost &&
                string.Compare(context.Request.HttpMethod, "POST", true) == 0)
            {
                tickedSource = TicketSource.FromForm;
                ticket       = Ticket.LoadFromForm();
            }
            else
            {
                tickedSource = TicketSource.FromUrl;
                ticket       = Ticket.LoadFromUrl();
            }

            if (IsTicketValid(ticket) == false)
            {
                tickedSource = TicketSource.FromHeader;
                ticket       = Ticket.LoadFromHeader();

                if (IsTicketValid(ticket) == false)
                {
                    tickedSource = TicketSource.FromCookie;

                    ticket = Ticket.LoadFromCookie();   //从Cookie中加载Ticket

                    if (ticket != null)
                    {
                        Trace.WriteLine(string.Format("从cookie中找到用户{0}的ticket", ticket.SignInInfo.UserID), "PassportSDK");
                    }
                    else
                    {
                        tickedSource = TicketSource.Unknown;
                    }
                }
            }

            if (IsTicketValid(ticket) == true)
            {
                AdjustSignInTimeout(ticket);
            }

            return(ticket);
        }