private SessionStateStoreData DoGet(HttpContext context, string id, bool exclusive, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actionFlags)
        {
            locked      = false;
            lockId      = null;
            lockAge     = TimeSpan.Zero;
            actionFlags = SessionStateActions.None;
            RedisSessionState state = RedisSessionState.FromJson(RedisBase.Item_Get <string>(id));

            if (state == null)
            {
                return(null);
            }
            RedisBase.ExpireEntryAt(id, DateTime.Now.AddMinutes(state._timeout.TryToDouble()));
            return(CreateLegitStoreData(context, state._sessionItems, state._staticObjects, state._timeout));
        }
        public static void TestRedis()
        {
            // 基本KEY/VALUE键值对操作;
            RedisBase.Item_Set("examCourseId", "00889750EE7448DB9B388E9146E5AC62");
            RedisBase.Item_Set("batchId", "89B0BD4B5CAC49259E60E1D8A6EDD858");

            var examCourseId = RedisBase.Item_Get <string>("examCourseId");
            var batchId      = RedisBase.Item_Get <string>("batchId");

            Console.WriteLine("examCourseId:" + examCourseId);
            Console.WriteLine("batchId:" + batchId);

            // 存储对象;
            RedisBase.Item_Set <UserInfo>("userinfo", new UserInfo()
            {
                UserName = "******", Age = 45
            });
            var userinfo = RedisBase.Item_Get <UserInfo>("userinfo");

            var id       = userinfo.Id;
            var userName = userinfo.UserName;
            var age      = userinfo.Age;

            Console.WriteLine("userinfo:" + userinfo);
            Console.WriteLine("id:" + id + ",userName:" + userName + ",age:" + age);

            // List;
            RedisBase.List_Add("userinfolist", new UserInfo()
            {
                Id = 1, UserName = "******", Age = 36
            });
            RedisBase.List_Add("userinfolist", new UserInfo()
            {
                Id = 2, UserName = "******", Age = 30
            });

            var userList = RedisBase.List_GetList <UserInfo>("userinfolist");

            foreach (var user in userList)
            {
                Console.WriteLine("id:" + user.Id + ",userName:" + user.UserName + ",age:" + user.Age);
            }


            RedisBase.Item_Remove("examCourseId");

            Console.Read();
        }
示例#3
0
 public void RemoveContent(List <sys_dict> list)
 {
     foreach (var content in list)
     {
         if (!RedisBase.Hash_Exist <sys_dict>(ContentKeys, content.DictID.ToString()))
         {
             return;
         }
         RedisBase.Hash_Remove(ContentKeys, content.DictID.ToString());
         if (!RedisBase.Hash_Exist <sys_dict>(content.DictType, content.DictID.ToString()))
         {
             return;
         }
         RedisBase.Hash_Remove(content.DictType, content.DictID.ToString());
     }
 }
        public async Task <IHttpActionResult> VerCodePic()
        {
            JsonResult <VerCodePicViewModel> result = new JsonResult <VerCodePicViewModel>();

            result.code = 1;
            result.msg  = "OK";
            await Task.Run(() => {
                try
                {
                    ClassLoger.Info("VerCodePic", "开始获取成语");
                    cy_dictBll cybll       = new cy_dictBll();
                    IList <cy_dict> cylist = cybll.GetAllcy_dict();
                    ClassLoger.Info("VerCodePic", cylist.Count.ToString());
                    int i = Utils.GetRandom(0, cylist.Count - 1);
                    ClassLoger.Info("VerCodePic", i.ToString());
                    cy_dict cy = cylist[i];
                    ClassLoger.Info("VerCodePic成语:", cy.chengyu);
                    VerCodePicViewModel vcvm = new VerCodePicViewModel();

                    string sourcePic = FileHelper.GetVerCodePicResource();
                    if (sourcePic.IsNull() || !File.Exists(sourcePic))
                    {
                        sourcePic = @"E:\WebResources\images\VerCodePicSource\1.jpg";
                    }
                    ClassLoger.Info("VerCodePic图片", sourcePic);
                    VerCodePic codepic = FileHelper.GetVerCodePic(cy.chengyu, sourcePic);
                    vcvm.content       = cy.chengyu;
                    vcvm.MainPic       = codepic.PicURL;
                    result.Result      = vcvm;

                    string key = cookieKey();
                    RedisBase.Item_Set(key, codepic);
                    RedisBase.ExpireEntryAt(key, DateTime.Now.AddMinutes(10));
                    result.ResultMsg = key;
                }
                catch (Exception ex)
                {
                    ClassLoger.Error("AccountController.VerCodePic", ex);
                    result.code = -1;
                    result.msg  = "AccountController.VerCodePic发生异常:" + ex.Message;
                }
            });

            return(Ok(result));
        }
示例#5
0
        public void DelUserinfo(UserInfo _userinfo)
        {
            UserInfoDal.Ins.DelUserinfo(_userinfo);
            if (!_userinfo.Openid.IsNull())
            {
                string openkey = getuseropenkey(_userinfo.Openid);
                if (RedisBase.ContainsKey(openkey))
                {
                    RedisBase.Item_Remove(openkey);
                }
            }
            string key = getuserkey(_userinfo.ID);

            if (RedisBase.ContainsKey(key))
            {
                RedisBase.Item_Remove(key);
            }
        }
示例#6
0
        public WeChatUser GetWeChatUserByUnionID(string UnionID)
        {
            string key = getGetWeChatUserByUnionIDKey(UnionID);

            if (RedisBase.ContainsKey(key))
            {
                return(RedisBase.Item_Get <WeChatUser>(key));
            }
            else
            {
                WeChatUser wuser = WeChatUserDal.Ins.GetWeChatUserByUnionID(UnionID);
                if (wuser != null)
                {
                    RedisBase.Item_Set(key, wuser);
                }
                return(wuser);
            }
        }
示例#7
0
        public UserInfo GetUserinfoByID(string userid)
        {
            string key = getuserkey(userid);

            if (RedisBase.ContainsKey(key))
            {
                return(RedisBase.Item_Get <UserInfo>(key));
            }
            else
            {
                UserInfo uinfo = UserInfoDal.Ins.GetUserinfoByID(userid);
                if (uinfo != null)
                {
                    RedisBase.Item_Set(key, uinfo);
                }
                return(uinfo);
            }
        }
示例#8
0
        public List <KeyValuePair <string, Project> > GetProject()
        {
            var projects = RedisBase.HashGetAll <KeyValuePair <string, Project> >(this._key).ForIn(t =>
            {
                if (!string.IsNullOrEmpty(t.Value.StartTime))
                {
                    t.Value.RunTime = (DateTime.Now - Convert.ToDateTime(t.Value.StartTime)).Days;
                }
                t.Value.Progress  = CalcProgress(t.Value.Task);
                t.Value.TotalTime = CalcTotalTime(t.Value.Task);
            });

            if (projects != null)
            {
                return(projects.ToList());
            }
            return(null);
        }
示例#9
0
    public static void UpdateDocInfo(string requestId, string file)
    {
        long docInfoId = 0;

        if (File.Exists(file))
        {
            var redis = new RedisBase(new RedisSetting(REDIS_TYPE.ONLY_WRITE, __CONFIG.REDIS_PORT_WRITE));
            var cmd   = COMMANDS.DOC_INFO.ToString();
            try
            {
                int pageTotal = 0;
                using (var doc = PdfDocument.Load(file))
                {
                    pageTotal = doc.PageCount;
                    long fileSize = new FileInfo(file).Length;
                    docInfoId = StaticDocument.BuildId(DOC_TYPE.INFO_OGRINAL, pageTotal, fileSize);
                    var docInfo = new oDocument()
                    {
                        id                = docInfoId,
                        file_length       = fileSize,
                        file_name_ascii   = "",
                        file_name_ogrinal = Path.GetFileNameWithoutExtension(file),
                        file_page         = pageTotal,
                        file_path         = file,
                        file_type         = DOC_TYPE.PDF_OGRINAL,
                        infos             = doc.GetInformation().toDictionary(),
                        metadata          = ""
                    };
                    var json   = JsonConvert.SerializeObject(docInfo, Formatting.Indented);
                    var bsInfo = Encoding.UTF8.GetBytes(json);
                    var lz     = LZ4.LZ4Codec.Wrap(bsInfo);
                    ////var decompressed = LZ4Codec.Unwrap(compressed);
                    redis.HSET("_DOC_INFO", docInfoId.ToString(), lz);
                }
                //if (docInfoId > 0)
                //    redis.ReplyRequest(requestId, cmd, 1, docInfoId, pageTotal, "", file);
            }
            catch (Exception exInfo)
            {
                string errInfo = cmd.ToString() + " -> " + file + Environment.NewLine + exInfo.Message + Environment.NewLine + exInfo.StackTrace;
                redis.HSET("_ERROR:PDF:" + cmd.ToString(), docInfoId.ToString(), errInfo);
            }
        }
    }
示例#10
0
        // GET api/<controller>
        /// <summary>
        /// 线下客户端获取微信登录二维码
        /// </summary>
        /// <returns></returns>
        public JsonResult <string> Get(string lockCode)
        {
            JsonResult <string> result = new JsonResult <string>();

            result.code = 0;
            result.msg  = "OK";
            string uuid      = Utils.GetWeChatUUID();
            string long_url  = WeChateSiteHelper.getCRContent(uuid);
            string cqContent = WeChatAccessTokenAPI.GetShortURL(long_url);

            if (string.IsNullOrEmpty(cqContent))
            {
                cqContent = long_url;
            }
            string fileName = string.Format("{0}.png", uuid);
            string filePath = FileHelper.GetPicFilePath(fileName);

            if (QrCodeHelper.CreateImgCode(cqContent, filePath))
            {
                result.code      = 1;
                result.Result    = FileHelper.GetPicFileURL(fileName);
                result.ResultMsg = uuid;

                ThreadPool.QueueUserWorkItem(new WaitCallback(p => {
                    //图片记录进缓存,定期清理
                    string key = CacheKey.GetQrCodeKey(DateTime.Now);
                    RedisBase.List_Add <string>(key, filePath);
                    RedisBase.List_SetExpire(key, DateTime.Now.AddDays(2));

                    //记录日志
                    WeChatLogin login = new WeChatLogin();
                    login.State       = 0;
                    login.UUID        = uuid;
                    login.LoginData   = DateTime.Now.ToString("yyyy-MM-dd");
                    login.CreateTime  = DateTime.Now;
                    login.LockCode    = lockCode;
                    SaveWeChatLogin(login);
                }), null);
            }


            return(result);
        }
示例#11
0
        public object Login(Account account, string ipAddress)
        {
            var model = RedisBase.HashGetAll <KeyValuePair <string, Account> >(this._key)
                        .Where(t => t.Value.AccountName == account.AccountName);

            //Tuple
            if (!model.Any())
            {
                return(new
                {
                    result = false,
                    message = "用户不存在"
                });
            }
            var item = model.FirstOrDefault();

            if (item.Value.Password != account.Password)
            {
                return(new
                {
                    result = false,
                    message = "密码错误"
                });
            }
            new BllSession().AddSession(new SessionCache()
            {
                IpAddress = ipAddress,
                Token     = item.Value.Id,
                Name      = item.Value.UserName
            });

            Chat.SendClientMessage(new Message()
            {
                Timestamp   = DateTime.UtcNow,
                Body        = "login out",
                MessageType = MessageType.LoginOut
            });

            return(new
            {
                result = item
            });
        }
        public override void SetAndReleaseItemExclusive(HttpContext context, string id, SessionStateStoreData item, object lockId, bool newItem)
        {
            ISessionStateItemCollection sessionItems  = null;
            HttpStaticObjectsCollection staticObjects = null;

            if (item.Items.Count > 0)
            {
                sessionItems = item.Items;
            }
            if (!item.StaticObjects.NeverAccessed)
            {
                staticObjects = item.StaticObjects;
            }

            RedisSessionState state2 = new RedisSessionState(sessionItems, staticObjects, item.Timeout);

            RedisBase.Item_Set(id, state2.ToJson());
            RedisBase.ExpireEntryAt(id, DateTime.Now.AddMinutes(item.Timeout.TryToDouble()));
        }
示例#13
0
        public string AddWeChatUser(WeChatUser user)
        {
            if (user == null)
            {
                return(string.Empty);
            }
            string id = WeChatUserDal.Ins.AddWeChatUser(user);

            user.ID = id;
            string key = getGetWeChatUserByUnionIDKey(user.UnionID);

            if (RedisBase.ContainsKey(key))
            {
                RedisBase.Item_Remove(key);
            }
            RedisBase.Item_Set(key, user);

            return(id);
        }
示例#14
0
        static void Main(string[] args)
        {
            //Console.Write("请输入本地缓存值:");
            //LocalCache lc = new LocalCache();
            //lc.Set("lc", Console.ReadLine());

            //Console.WriteLine($"获取到本地缓存值:{lc.Get<string>("lc")}");
            //Console.ReadKey();



            Console.Write("请输入Redis缓存值:");
            RedisConfigItem config = new RedisConfigItem();

            config.Password = "";
            //config.Hosts = new string[] { "119.147.171.113:16379" };
            config.Hosts = new string[] { "127.0.0.1:6379" };
            RedisBase rc = new RedisBase(config);

            rc.Set("rc", Console.ReadLine());



            Console.WriteLine($"获取到Redis缓存值:{rc.Get<string>("rc")}");

            rc.Hash.Set("hash", "hash1", "你好1");
            rc.Hash.Set("hash", "hash2", "你好2");

            Console.WriteLine($"获取到Redis_hash缓存值:{rc.Hash.Get("hash", "hash1")}");
            Console.WriteLine($"获取到Redis_hash缓存值:{rc.Hash.Get("hash", "hash2")}");

            var hashkeys = rc.Hash.GetKyes("hash");

            Console.WriteLine($"获取到Redis_hashkeys缓存值:{string.Join(",", hashkeys)}");

            //移出
            rc.Hash.Remove("hash", hashkeys);
            Console.WriteLine($"移出后获取到Redis_hash缓存值:{rc.Hash.Get("hash", "hash1")}");
            Console.WriteLine($"移出后获取到Redis_hash缓存值:{rc.Hash.Get("hash", "hash2")}");

            Console.ReadKey();
        }
示例#15
0
 /// <summary>
 /// 添加或者更新
 /// </summary>
 /// <param name="content"></param>
 public void AddOrUpdateContent(sys_dict content)
 {
     try
     {
         if (RedisBase.Hash_Exist <sys_dict>(ContentKeys, content.DictID.ToString()))
         {
             RedisBase.Hash_Remove(ContentKeys, content.DictID.ToString());
         }
         RedisBase.Hash_Set(ContentKeys, content.DictID.ToString(), content);
         if (RedisBase.Hash_Exist <sys_dict>(content.DictType, content.DictID.ToString()))
         {
             RedisBase.Hash_Remove(content.DictType, content.DictID.ToString());
         }
         RedisBase.Hash_Set(content.DictType, content.DictID.ToString(), content);
     }
     catch (Exception ex)
     {
         _log.Error("AddOrUpdateContent(sys_dict content)", ex);
     }
 }
示例#16
0
    static void __executeBackground(Tuple <string, byte[]> data)
    {
        if (data == null)
        {
            return;
        }
        var buf = data.Item2;

        oTesseractRequest r    = null;
        string            guid = Encoding.ASCII.GetString(buf);
        var redis = new RedisBase(new RedisSetting(REDIS_TYPE.ONLY_READ, __PORT_WRITE));

        try
        {
            string json = redis.HGET("_OCR_REQUEST", guid);
            r = JsonConvert.DeserializeObject <oTesseractRequest>(json);
            Bitmap bitmap = redis.HGET_BITMAP(r.redis_key, r.redis_field);
            if (bitmap != null)
            {
                r = __ocrExecute(r, bitmap);
            }
        }
        catch (Exception ex)
        {
            if (r != null)
            {
                string error = ex.Message + Environment.NewLine + ex.StackTrace
                               + Environment.NewLine + "----------------" + Environment.NewLine +
                               JsonConvert.SerializeObject(r);
                r.ok = -1;
                redis.HSET("_OCR_REQ_ERR", r.requestId, error);
            }
        }

        if (r != null)
        {
            redis.HSET("_OCR_REQUEST", r.requestId, JsonConvert.SerializeObject(r, Formatting.Indented));
            redis.HSET("_OCR_REQ_LOG", r.requestId, r.ok == -1 ? "-1" : r.output_count.ToString());
            redis.PUBLISH("__TESSERACT_OUT", r.requestId);
        }
    }
示例#17
0
        public string UpdateUserinfo(UserInfo _userinfo)
        {
            string id = UserInfoDal.Ins.UpdateUserinfo(_userinfo);

            if (!string.IsNullOrEmpty(id))
            {
                string key = getuserkey(id);
                if (RedisBase.ContainsKey(key))
                {
                    RedisBase.Item_Remove(key);
                }
                string openkey = getuseropenkey(_userinfo.Openid);
                if (RedisBase.ContainsKey(openkey))
                {
                    RedisBase.Item_Remove(openkey);
                }
                RedisBase.Item_Set(key, _userinfo);
                RedisBase.Item_Set(openkey, _userinfo);
            }
            return(id);
        }
示例#18
0
        static void Main(string[] args)
        {
            var lockerid = ProcessLockHelper.GetProcessLockId();

            try
            {
                Console.Title = "消息调度程序 " + lockerid.Substring(0, 6);
                bool   isCreated;
                string mutexName = lockerid;
                var    appMutex  = new Mutex(true, mutexName, out isCreated);
                //如果创建失败,则表示已经运行了。
                if (!isCreated)
                {
                    Console.WriteLine("已经运行,按任意键结束!");
                    Console.Read();
                }
                else
                {
                    Console.WriteLine("正在启动中");
                    CommonUnitity.Init(false);
                    RedisBase.Initialize(new RedisConfigService());
                    TCSoftServiceBus.Current.Start();

                    Console.WriteLine("服务总线启动成功");
                    while ((Console.ReadKey().Key != ConsoleKey.Q))
                    {
                        continue;
                    }
                    TCSoftServiceBus.Current.Stop();
                    Console.WriteLine("结束允许");
                    appMutex.ReleaseMutex();
                    appMutex.Dispose();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.Read();
            }
        }
        public async Task <IHttpActionResult> CheckPicCode([FromBody] CheckPicCodeViewModel piccode)
        {
            JsonResult <bool> result = new JsonResult <bool>();

            result.code = 1;
            result.msg  = "OK";
            if (piccode == null)
            {
                result.Result    = false;
                result.ResultMsg = "参数错误";
                return(Ok(result));
            }

            if (string.IsNullOrEmpty(piccode.token) || !RedisBase.ContainsKey(piccode.token))
            {
                result.Result    = false;
                result.ResultMsg = "验证码已过期";
                return(Ok(result));
            }
            result.Result = await Task.Run <bool>(() => {
                bool flag          = false;
                VerCodePic codepic = RedisBase.Item_Get <VerCodePic>(piccode.token);
                if (Math.Abs(codepic.Font1.X - piccode.x1) > 0.5 || Math.Abs(codepic.Font1.Y - piccode.y1) > 0.5 ||
                    Math.Abs(codepic.Font2.X - piccode.x2) > 0.5 || Math.Abs(codepic.Font2.Y - piccode.y2) > 0.5 ||
                    Math.Abs(codepic.Font3.X - piccode.x3) > 0.5 || Math.Abs(codepic.Font3.Y - piccode.y3) > 0.5 ||
                    Math.Abs(codepic.Font4.X - piccode.x4) > 0.5 || Math.Abs(codepic.Font4.Y - piccode.y4) > 0.5)
                {
                    flag             = false;
                    result.ResultMsg = "验证码错误";
                }
                else
                {
                    flag             = true;
                    result.ResultMsg = "验证码正确";
                }
                return(flag);
            });

            return(Ok(result));
        }
示例#20
0
        public UserInfo GetUserInfoByOpenID(string OpenID)
        {
            if (string.IsNullOrEmpty(OpenID))
            {
                return(null);
            }
            string key = getuseropenkey(OpenID);

            if (RedisBase.ContainsKey(key))
            {
                return(RedisBase.Item_Get <UserInfo>(key));
            }
            else
            {
                UserInfo uinfo = UserInfoDal.Ins.GetUserInfoByOpenID(OpenID);
                if (uinfo != null)
                {
                    RedisBase.Item_Set(key, uinfo);
                }
                return(uinfo);
            }
        }
        public async Task <IHttpActionResult> CheckSmsCode(string token, string telcode)
        {
            JsonResult <string> result = new JsonResult <string>();

            if (token.IsNull() || !RedisBase.ContainsKey(token))
            {
                result.code = 0;
                result.msg  = "invalid token";
                return(Ok(result));
            }
            string value = RedisBase.Item_Get <string>(token);

            if (telcode.IsNull() || value != telcode)
            {
                result.code = 0;
                result.msg  = "验证码错误";
                return(Ok(result));
            }
            result.code = 1;
            result.msg  = "验证码正确";
            return(Ok(result));
        }
        public async Task <IHttpActionResult> SendSmS(string tel)
        {
            JsonResult <string> result = new JsonResult <string>();

            result.code = 1;
            result.msg  = "OK";
            if (tel.IsNull())
            {
                result.code = 0;
                result.msg  = "手机号不能为空";
                return(Ok(result));
            }
            if (!tel.IsMobile())
            {
                result.code = 0;
                result.msg  = "请输入正确的手机号";
                return(Ok(result));
            }

            //产生短信验证码
            int    code = Utils.GetRandom(100000, 999999);
            string key  = cookieKey();

            RedisBase.Item_Set(key, code.TryToString());
            RedisBase.ExpireEntryAt(key, DateTime.Now.AddMinutes(10));
            bool isSend = Utils.SendSMSVCode(code.TryToString(), tel);

            if (isSend)
            {
                result.Result = key;
            }
            else
            {
                result.code = 0;
                result.msg  = "发送失败";
            }
            return(Ok(result));
        }
示例#23
0
        public string RegisterUserInfo(UserInfo _userinfo)
        {
            string id = string.Empty;

            if (_userinfo.BirthDate == DateTime.MinValue || _userinfo.BirthDate == DateTime.MaxValue)
            {
                _userinfo.BirthDate = new DateTime(1990, 1, 1);
            }
            UserInfo _user = GetUserInfoByOpenID(_userinfo.Openid);

            if (_user != null)
            {
                id              = _user.ID;
                _user.UserName  = _userinfo.UserName;
                _user.Name      = _userinfo.Name;
                _user.Password  = _userinfo.Password;
                _user.BirthDate = _userinfo.BirthDate;
                _user.IsAdmin   = _userinfo.IsAdmin;
                _user.Sex       = _userinfo.Sex;
                UserInfoDal.Ins.UpdateUserinfo(_user);
            }
            else
            {
                id = UserInfoDal.Ins.AddUserInfo(_userinfo);
            }
            if (!string.IsNullOrEmpty(id))
            {
                UserInfoDal.Ins.RegisterPassword(_userinfo.UserName, _userinfo.Password);
                string key = getuserkey(id);
                _userinfo.Password = string.Empty;
                RedisBase.Item_Set(key, _userinfo);

                string openkey = getuseropenkey(_userinfo.Openid);
                RedisBase.Item_Set(openkey, _userinfo);
            }
            return(id);
        }
示例#24
0
        /// <summary>
        /// 获取微信公共号jssdk调用接口临时凭证
        /// </summary>
        /// <returns></returns>
        public static string Getjsapi_ticket()
        {
            string key = Getjsapi_ticketKey();

            if (RedisBase.ContainsKey(key))
            {
                return(RedisBase.Item_Get <string>(key));
            }
            else
            {
                string ticket       = string.Empty;
                string Access_token = GetWeChatAccess_token();
                string url          = string.Format("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi", Access_token);
                string resultJson   = HttpUtils.Ins.GET(url);
                Dictionary <string, object> resDic = JsonHelper.DeserializeObject(resultJson);
                if (resDic["errcode"].TryToInt(0) == 0)
                {
                    ticket = resDic["ticket"].TryToString();
                    RedisBase.Item_Set(key, ticket);
                    RedisBase.ExpireEntryAt(key, DateTime.Now.AddSeconds(resDic["expires_in"].TryToInt(7200)));
                }
                return(ticket);
            }
        }
        public async Task <IHttpActionResult> BindingWeChartCQ()
        {
            JsonResult <string> result = new JsonResult <string>();

            result.code = 0;
            result.msg  = "OK";
            await Task.Run(() => {
                string uuid      = Utils.GetWeChatUUID();
                string long_url  = WeChateSiteHelper.getCRContent(uuid);
                string cqContent = WeChatAccessTokenAPI.GetShortURL(long_url);
                if (string.IsNullOrEmpty(cqContent))
                {
                    cqContent = long_url;
                }
                string fileName = string.Format("{0}.png", uuid);
                string filePath = FileHelper.GetPicFilePath(fileName);
                if (QrCodeHelper.CreateImgCode(cqContent, filePath))
                {
                    result.code      = 1;
                    result.Result    = FileHelper.GetPicFileURL(fileName);
                    result.ResultMsg = uuid;

                    //图片记录进缓存,定期清理
                    string key = CacheKey.GetQrCodeKey(DateTime.Now);
                    RedisBase.List_Add <string>(key, filePath);
                    RedisBase.List_SetExpire(key, DateTime.Now.AddDays(2));

                    ApiUserManager userManager = new ApiUserManager(ActionContext);
                    string bindkey             = string.Format("bind_{0}", uuid);
                    RedisBase.Item_Set(bindkey, userManager.User);
                    RedisBase.ExpireEntryAt(bindkey, DateTime.Now.AddHours(1));
                }
            });

            return(Ok(result));
        }
示例#26
0
        public Redlock()
        {
            var multiplexer = new RedisBase().GetInstance(ConfigurationManager.AppSettings["RedisWriterConnStr"]);

            RedisMasterDictionary.Add(multiplexer.GetEndPoints().First().ToString(), multiplexer);
        }
示例#27
0
 public SingleBlockEnumerable(RedisBase redis, ServerEndPoint server,
                              Task <T[]> pending, int pageOffset) : base(redis, server, 0, int.MaxValue, 0, pageOffset, default)
 {
     _pending = pending;
 }
示例#28
0
 public List <KeyValuePair <string, TaskTarget> > GetWorkTask()
 {
     return(RedisBase.HashGetAll <KeyValuePair <string, TaskTarget> >(TASK_TARGET));
 }
示例#29
0
 public List <KeyValuePair <string, Account> > GetAccountById(string uuid)
 {
     return(RedisBase.HashGetAll <KeyValuePair <string, Account> >(this._key).Where(t => t.Key == uuid).ToList());
 }
示例#30
0
 public List <KeyValuePair <string, Account> > GetAccount()
 {
     return(RedisBase.HashGetAll <KeyValuePair <string, Account> >(this._key));
 }