Ejemplo n.º 1
0
        /// <summary>
        /// 获取锁对象
        /// 先判断锁对象是否否在
        /// 如果不存在 则插入锁对象
        /// 再获取锁对象
        /// </summary>
        /// <param name="uniKey"></param>
        /// <returns></returns>
        public LockObject GetLockItem(string uniKey)
        {
            ShowTimeDataContent ctx = new ShowTimeDataContent();
            LockClient          lo  = null;

            if (!ctx.Lock.Any(c => c.Key == uniKey))
            {
                try
                {
                    lo = new Objects.Model.LockClient()
                    {
                        ClinetCnt = 0,
                        Expire    = DateTime.Now,
                        Key       = uniKey,
                        Lock      = 2,
                        Type      = 1
                    };

                    ctx.Lock.Add(lo);
                    ctx.SaveChanges();
                }
                catch (Exception ex)
                {
                }
            }

            if (lo == null || lo.Id == 0)
            {
                lo = ctx.Lock.First(c => c.Key == uniKey);
            }

            LockObject obj = null;

            if (lo != null)
            {
                obj        = new LockObject();
                obj.Id     = lo.Id;
                obj.Key    = lo.Key;
                obj.Lock   = lo.Lock;
                obj.Type   = lo.Type;
                obj.Expire = lo.Expire;
            }

            return(obj);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取锁对象  
        /// 先判断锁对象是否否在  
        /// 如果不存在 则插入锁对象 
        /// 再获取锁对象
        /// </summary>
        /// <param name="uniKey"></param>
        /// <returns></returns>
        public LockObject GetLockItem(string uniKey)
        {
            ShowTimeDataContent ctx = new ShowTimeDataContent();
            LockClient lo = null;
            if (!ctx.Lock.Any(c => c.Key == uniKey))
            {
                try
                {
                    lo = new Objects.Model.LockClient()
                           {
                               ClinetCnt = 0,
                               Expire = DateTime.Now,
                               Key = uniKey,
                               Lock = 2,
                               Type = 1
                           };

                    ctx.Lock.Add(lo);
                    ctx.SaveChanges();
                }
                catch (Exception ex)
                {
                }
            }

            if (lo == null || lo.Id == 0)
            {
                lo = ctx.Lock.First(c => c.Key == uniKey);
            }

            LockObject obj = null;
            if (lo != null)
            {
                obj = new LockObject();
                obj.Id = lo.Id;
                obj.Key = lo.Key;
                obj.Lock = lo.Lock;
                obj.Type = lo.Type;
                obj.Expire = lo.Expire;
            }

            return obj;
        }