示例#1
0
 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);
     }
 }