private void UpdateWrapper(AuthorizerJsApiTicketWrapper wrapper) { RequestApiResult <WeixinGetJsApiTicketResult> result = TokenApiWrapper.GetJsApiTicket(wrapper.AppId); if (result.Success) { wrapper.JsApiTicket = result.ApiResult.Ticket; wrapper.JsApiTicketExpiryTime = DateTime.Now.AddSeconds(result.ApiResult.ExpiresIn); } }
private AuthorizerJsApiTicketWrapper CreateWrapper(string appId) { RequestApiResult <WeixinGetJsApiTicketResult> result = TokenApiWrapper.GetJsApiTicket(appId); if (result.Success) { AuthorizerJsApiTicketWrapper wrapper = new AuthorizerJsApiTicketWrapper(); wrapper.AppId = appId; wrapper.JsApiTicket = result.ApiResult.Ticket; wrapper.JsApiTicketExpiryTime = DateTime.Now.AddSeconds(result.ApiResult.ExpiresIn); return(wrapper); } return(null); }
public void Add(string appId, string jsApiTicket, int expiresIn) { lock (_lockObj) { AuthorizerJsApiTicketWrapper wrapper = _wrapperTable[appId] as AuthorizerJsApiTicketWrapper; if (wrapper != null) { _wrapperTable.Remove(appId); } wrapper = new AuthorizerJsApiTicketWrapper(); wrapper.AppId = appId; wrapper.JsApiTicket = jsApiTicket; wrapper.JsApiTicketExpiryTime = DateTime.Now.AddSeconds(expiresIn); _wrapperTable.Add(appId, wrapper); } }
public string Get(string appId) { if (String.IsNullOrEmpty(appId)) { return(null); } AuthorizerJsApiTicketWrapper wrapper = _wrapperTable[appId] as AuthorizerJsApiTicketWrapper; if (wrapper == null || wrapper.WillbeTimeout) { lock (_lockObj) { wrapper = _wrapperTable[appId] as AuthorizerJsApiTicketWrapper; if (wrapper == null || wrapper.WillbeTimeout) { if (wrapper == null) { wrapper = CreateWrapper(appId); _wrapperTable.Add(appId, wrapper); } else { UpdateWrapper(wrapper); } } } } if (wrapper != null) { return(wrapper.JsApiTicket); } else { return(null); } }