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(); }
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)); }
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); } }
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); } }
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); } }
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); }
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); } } }
// 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); }
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())); }
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); }
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(); }
/// <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); } }
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); } }
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); }
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)); }
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)); }
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); }
/// <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)); }
public Redlock() { var multiplexer = new RedisBase().GetInstance(ConfigurationManager.AppSettings["RedisWriterConnStr"]); RedisMasterDictionary.Add(multiplexer.GetEndPoints().First().ToString(), multiplexer); }
public SingleBlockEnumerable(RedisBase redis, ServerEndPoint server, Task <T[]> pending, int pageOffset) : base(redis, server, 0, int.MaxValue, 0, pageOffset, default) { _pending = pending; }
public List <KeyValuePair <string, TaskTarget> > GetWorkTask() { return(RedisBase.HashGetAll <KeyValuePair <string, TaskTarget> >(TASK_TARGET)); }
public List <KeyValuePair <string, Account> > GetAccountById(string uuid) { return(RedisBase.HashGetAll <KeyValuePair <string, Account> >(this._key).Where(t => t.Key == uuid).ToList()); }
public List <KeyValuePair <string, Account> > GetAccount() { return(RedisBase.HashGetAll <KeyValuePair <string, Account> >(this._key)); }