/// <summary> /// 获取可用Ticket /// </summary> /// <param name="appId"></param> /// <param name="getNewTicket">是否强制重新获取新的Ticket</param> /// <returns></returns> public static JsApiTicketResult GetTicketResult(string appId, bool getNewTicket = false) { if (!JsApiTicketCollection.ContainsKey(appId)) { throw new WeixinException("此appId尚未注册,请先使用JsApiTicketContainer.Register完成注册(全局执行一次即可)!"); } var accessTicketBag = JsApiTicketCollection[appId]; if (getNewTicket || accessTicketBag.ExpireTime <= DateTime.Now) { //已过期,重新获取 accessTicketBag.JsApiTicketResult = CommonApi.GetTicket(accessTicketBag.AppId, accessTicketBag.AppSecret); accessTicketBag.ExpireTime = DateTime.Now.AddSeconds(accessTicketBag.JsApiTicketResult.expires_in); } return(accessTicketBag.JsApiTicketResult); }
/// <summary> /// 获取可用Token /// </summary> /// <param name="corpId"></param> /// <param name="getNewToken">是否强制重新获取新的Token</param> /// <returns></returns> public static ProviderTokenResult GetTokenResult(string corpId, bool getNewToken = false) { if (!ProviderTokenCollection.ContainsKey(corpId)) { throw new WeixinException("此CorpId尚未注册,请先使用ProviderTokenContainer.Register完成注册(全局执行一次即可)!"); } var accessTokenBag = ProviderTokenCollection[corpId]; lock (accessTokenBag.Lock) { if (getNewToken || accessTokenBag.ExpireTime <= DateTime.Now) { //已过期,重新获取 accessTokenBag.ProviderTokenResult = CommonApi.GetProviderToken(accessTokenBag.CorpId, accessTokenBag.CorpSecret); accessTokenBag.ExpireTime = DateTime.Now.AddSeconds(7200); } } return(accessTokenBag.ProviderTokenResult); }
/// <summary> /// 获取可用Token /// </summary> /// <param name="corpId"></param> /// <param name="getNewToken">是否强制重新获取新的Token</param> /// <returns></returns> public static ProviderTokenResult GetTokenResult(string corpId, bool getNewToken = false) { if (!CheckRegistered(corpId)) { throw new WeixinQyException(UN_REGISTER_ALERT); } var providerTokenBag = (ProviderTokenBag)GetItem(corpId); lock (providerTokenBag.Lock) { if (getNewToken || providerTokenBag.ExpireTime <= DateTime.Now) { //已过期,重新获取 providerTokenBag.ProviderTokenResult = CommonApi.GetProviderToken(providerTokenBag.CorpId, providerTokenBag.CorpSecret); providerTokenBag.ExpireTime = DateTime.Now.AddSeconds(providerTokenBag.ProviderTokenResult.expires_in); } } return(providerTokenBag.ProviderTokenResult); }