コード例 #1
0
        private int UpdateWxToken()
        {
            var sleep = 1000 * 60 * 30;//30min

            try
            {
                var dbContext  = new PinkOneMngSysContext();
                var wxPubInfos = dbContext.Wx_PublicInfo.Where(x => true).ToList();
                foreach (var wpi in wxPubInfos)
                {
                    ModelWxToken token = WXOAuthApiHelper.GetWxToken(wpi.AppId, wpi.AppSecret);
                    if (null != token && token.access_token != null)
                    {
                        ModelWxJsTicket ticket = WXOAuthApiHelper.GetWxJsTicket(token);
                        if (null != ticket)
                        {
                            string sql = "update Wx_PublicInfo set UpdateTime='{0}', AccessToken='{1}', JsApiTicket='{2}' where ID=" + wpi.ID;
                            sql = string.Format(sql, DateTime.Now, token.access_token, ticket.ticket);
                            var isOK = adoHelper.ExecuteNonQueryCmd(sql);
                            if (isOK > 0)
                            {
                                Console.WriteLine("UpdateWxToken:" + DateTime.Now + " " + wpi.AppName + "Token更新成功");
                            }
                        }
                        //sleep = token.expires_in * 60;
                    }
                    else
                    {
                        Console.WriteLine("UpdateWxToken:" + DateTime.Now + " " + wpi.AppName + "Token更新失败,原因->" + token.errmsg);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("UpdateWxToken:" + DateTime.Now + " " + "出现错误," + e.Message);
                //LogHelper.Error(e.Message);
            }
            return(sleep);
        }