public static CustUserInfo GetPersonInfo(string userid, List <CustUserInfo> userinfos) { var userKey = string.Format(Redis_UserId, userid); CustUserInfo person = null; var user = string.Empty; if (WoyaopaoConfig.UseRedis) { //user = AliRedisClient.getRedisConn().GetDatabase().StringGet(userKey); user = HttpRuntimeCache.GetCache(userKey) as string; } if (string.IsNullOrWhiteSpace(user)) { var userinfo = userinfos.Where(s => s.userid == userid).FirstOrDefault(); if (userinfo != null) { person = userinfo; if (WoyaopaoConfig.UseRedis) { HttpRuntimeCache.SetCache(userKey, JsonConvert.SerializeObject(person), WoyaopaoConfig.Redis_Overtime); //AliRedisClient.getRedisConn().GetDatabase().StringSet(userKey, JsonConvert.SerializeObject(person)); } } } else { person = JsonConvert.DeserializeObject <CustUserInfo>(user); } return(person); }
public ActionResult WxSignature(string url) { try { if (!AccessTokenContainer.CheckRegistered(appid)) //检查是否已经注册 { AccessTokenContainer.Register(appid, secret); //如果没有注册则进行注册 } var tokenResult = HttpRuntimeCache.GetCache("LocalAccessToken") as LocalAccessToken; var useCache = true; if (tokenResult == null || string.IsNullOrWhiteSpace(tokenResult?.access_token) || tokenResult.ExpiresTime == null || System.DateTime.Now > tokenResult.ExpiresTime) //过期 { useCache = false; var result = AccessTokenContainer.GetAccessTokenResult(appid, true); if (!string.IsNullOrWhiteSpace(result?.errmsg)) { return(Json(new { ErrMsg = JsonConvert.SerializeObject(result) }, JsonRequestBehavior.AllowGet)); //return Json(new { data = JsonConvert.SerializeObject(new { appid, secret }), ErrMsg = JsonConvert.SerializeObject(tokenResult) }, JsonRequestBehavior.AllowGet); } tokenResult = new LocalAccessToken(result) { }; HttpRuntimeCache.SetCache("LocalAccessToken", tokenResult, 7260); } var ticket = JsApiTicketContainer.GetJsApiTicket(appid); var model = new WXShare() { appId = appid, timestamp = JSSDKHelper.GetTimestamp(), nonce = JSSDKHelper.GetNoncestr(), url = Server.UrlDecode(url), ticket = ticket, //result = JsonConvert.SerializeObject(tokenResult), useCache = useCache }; model.signature = JSSDKHelper.GetSignature(ticket, model.nonce, model.timestamp, model.url); return(Json(model, JsonRequestBehavior.AllowGet)); } catch (System.Exception ex) { return(Json(new { ErrMsg = ex.Message, StackTrace = JsonConvert.SerializeObject(ex.StackTrace) }, JsonRequestBehavior.AllowGet)); } }
public ActionResult RunInfo() { try { var sourceFromRedis = false; if (WoyaopaoConfig.UseRedis) { //var result = AliRedisClient.getRedisConn().GetDatabase().StringGet(WoyaopaoConfig.Redis_sourceDataKey); var result = HttpRuntimeCache.GetCache(WoyaopaoConfig.Redis_sourceDataKey) as string; if (string.IsNullOrWhiteSpace(result)) { var source = WQKHospital.GetDataFromSource(); var entity = WQKHospital.DataTransfor(source.data); var json = JsonConvert.SerializeObject(entity); HttpRuntimeCache.SetCache(WoyaopaoConfig.Redis_sourceDataKey, json, WoyaopaoConfig.Redis_Overtime); //AliRedisClient.getRedisConn().GetDatabase().StringSet(WoyaopaoConfig.Redis_sourceDataKey, json, new TimeSpan(WoyaopaoConfig.Woyaopao_source_Timespan)); return(Json(new { sourceFromRedis = sourceFromRedis, Data = entity }, JsonRequestBehavior.AllowGet)); } else { sourceFromRedis = true; var entity = JsonConvert.DeserializeObject <CustPageInfo>(result); return(Json(new { sourceFromRedis = sourceFromRedis, Data = entity }, JsonRequestBehavior.AllowGet)); } } else { var source = WQKHospital.GetDataFromSource(); var entity = WQKHospital.DataTransfor(source.data); return(Json(new { sourceFromRedis = sourceFromRedis, Data = entity }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { Logger.Default.Error(ex); return(Json(new { Success = false, Msg = JsonConvert.SerializeObject(ex) }, JsonRequestBehavior.AllowGet)); } }