public string GetJsTicket(string appid, string appSecret, bool force) { try { var access_token = ""; var jssdk_ticket = ""; if (force && cache.Contains(appid)) { cache.Remove(appid); } if (!cache.Contains(appid)) { access_token = BasicAPI.GetAccessToken(appid, appSecret).access_token; var js = JSAPI.GetTicket(access_token); jssdk_ticket = js.ticket; var json = DynamicJson.Serialize(new weixin_token { access_token = access_token, jssdk_ticket = jssdk_ticket }); var policy = new CacheItemPolicy() { AbsoluteExpiration = DateTime.Now.AddSeconds(ACCESS_TOKEN_EXPIRE_SECONDS) }; cache.Set(appid, json, policy); } else { var weixin_token = DynamicJson.Parse(cache.Get(appid).ToString()); access_token = weixin_token.access_token; jssdk_ticket = weixin_token.jssdk_ticket; } AppLogManager.Write(string.Format("appid:{0}, access_token: {1}, jssdk_ticket: {2}", appid, access_token, jssdk_ticket)); return(jssdk_ticket); } catch (Exception ex) { LogWriter.Default.WriteError(ex); return(string.Empty); } }