コード例 #1
0
        /// <summary>
        /// 移除超时 Token.
        /// </summary>
        public override void RemoveTimeoutToken()
        {
            try
            {
                using (MyTokenContext context = new MyTokenContext())
                {
                    var timeoutQuery =
                        from data in context.TokenDatas
                        where
                        data.ExpiredTime < DateTime.Now
                        select data;

                    List <TokenData> removeList = timeoutQuery.ToList();

                    foreach (var item in removeList)
                    {
                        context.TokenDatas.Remove(item);
                    }

                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                // 日志.
                logger.Error(ex.Message, ex);
            }
        }
コード例 #2
0
 /// <summary>
 /// 取得 令牌类型.
 /// </summary>
 /// <param name="typeCode"></param>
 /// <returns></returns>
 protected override TokenType GetTokenType(string typeCode)
 {
     using (MyTokenContext context = new MyTokenContext())
     {
         TokenType result = context.TokenTypes.Find(typeCode);
         return(result);
     }
 }
コード例 #3
0
 /// <summary>
 /// 保存访问日志.
 /// </summary>
 /// <param name="log"></param>
 protected override void SaveTokenAccessLog(TokenAccessLog log)
 {
     using (MyTokenContext context = new MyTokenContext())
     {
         context.TokenAccessLogs.Add(log);
         context.SaveChanges();
     }
 }
コード例 #4
0
 /// <summary>
 /// 取得令牌数据.
 /// </summary>
 /// <param name="tokenID"></param>
 /// <returns></returns>
 protected override TokenData GetTokenData(Guid tokenID)
 {
     using (MyTokenContext context = new MyTokenContext())
     {
         TokenData result = context.TokenDatas.Find(tokenID);
         return(result);
     }
 }
コード例 #5
0
        /// <summary>
        /// 获取访问日志.
        /// </summary>
        /// <param name="tokenID"></param>
        /// <returns></returns>
        protected override List <TokenAccessLog> GetTokenAccessLogList(Guid tokenID)
        {
            using (MyTokenContext context = new MyTokenContext())
            {
                var query =
                    from data in context.TokenAccessLogs
                    where
                    data.TokenID == tokenID
                    select data;

                List <TokenAccessLog> resultList = query.ToList();

                return(resultList);
            }
        }
コード例 #6
0
        /// <summary>
        /// 保存令牌数据.
        /// </summary>
        /// <param name="data"></param>
        protected override void SaveTokenData(TokenData data)
        {
            using (MyTokenContext context = new MyTokenContext())
            {
                // 获取数据库数据.
                TokenData dbData = context.TokenDatas.Find(data.TokenID);

                if (dbData == null)
                {
                    // 新增.
                    context.TokenDatas.Add(data);
                }
                else
                {
                    // 编辑.

                    // 更新次数.
                    dbData.AccessCount = data.AccessCount;
                }


                context.SaveChanges();
            }
        }
コード例 #7
0
        static void Main(string[] args)
        {
            // 当 Code First 与数据库结构不一致时
            // 自动升级到最新的版本.
            Database.SetInitializer(new MigrateDatabaseToLatestVersion <MyTokenContext, MyToken.Migrations.Configuration>());


            using (MyTokenContext context = new MyTokenContext())
            {
                var query =
                    from data in context.TokenTypes
                    select data;


                foreach (var item in query)
                {
                    Console.WriteLine(item);
                }
            }


            Console.WriteLine("Finish!");
            Console.ReadLine();
        }