/// <summary> /// 注册应用凭证信息,此操作只是注册,不会马上获取Token,并将清空之前的Token /// </summary> /// <param name="appId">微信公众号后台的【开发】>【基本配置】中的“AppID(应用ID)”</param> /// <param name="appSecret">微信公众号后台的【开发】>【基本配置】中的“AppSecret(应用密钥)”</param> /// <param name="name">标记AccessToken名称(如微信公众号名称),帮助管理员识别</param> public static void Register(string appId, string appSecret, string name = null) { //记录注册信息,RegisterFunc委托内的过程会在缓存丢失之后自动重试 RegisterFunc = () => { using (FlushCache.CreateInstance()) { var bag = new AccessTokenBag() { //Key = appId, Name = name, AppId = appId, AppSecret = appSecret, AccessTokenExpireTime = DateTime.MinValue, AccessTokenResult = new AccessTokenResult() }; Update(appId, bag); return(bag); } }; RegisterFunc(); //为JsApiTicketContainer进行自动注册 JsApiTicketContainer.Register(appId, appSecret, name); //OAuthAccessTokenContainer进行自动注册 OAuthAccessTokenContainer.Register(appId, appSecret, name); }
public OAuthAccessTokenResult GetOAuthAccessTokenResult(string appId, string appSecret, string code) { if (!OAuthAccessTokenContainer.CheckRegistered(appId)) { OAuthAccessTokenContainer.Register(appId, appSecret); } return(OAuthAccessTokenContainer.GetOAuthAccessTokenResult(appId, code, false)); }