//记录access token 申请时的时间
private static DateTime GetAccessToken_Time;
/// <summary>
/// 过期时间为7200秒
/// </summary>
private static int Expires_Period = ;        private static string mAccessToken;
/// <summary>
/// 获取access token
/// </summary>
/// <returns></returns>
private static string GetAccessToken()
{
if (string.IsNullOrEmpty(mAccessToken) || HasExpired())
{
string Url = "https://api.weixin.qq.com/cgi-bin/token";
string RequestPara = "grant_type=client_credential&appid=" + APPID + "&secret=" + APPSECRET;
string result = WebRequestHelper.GetData(RequestPara, Url);
if (!result.Equals(""))
{
GetAccessToken_Time = DateTime.Now;
accesstoken token = JsonFormat.Deserialize<accesstoken>(result);
Expires_Period = Convert.ToInt32(token.expires_in);
return token.access_token;
}
else
{
GetAccessToken_Time = DateTime.MinValue;
}
}
return null;
} /// <summary>
/// 判断Access_token是否过期
/// </summary>
/// <returns>bool</returns>
private static bool HasExpired()
{
if (GetAccessToken_Time != null)
{
//过期时间,允许有一定的误差,一分钟。获取时间消耗
if (DateTime.Now > GetAccessToken_Time.AddSeconds(Expires_Period).AddSeconds(-))
{
return true;
}
}
return false;
}

C# v3微信 access token 过期处理的问题的更多相关文章

  1. 微信access token过期

    两台服务器使用同一个微信账号(同一个app id) 时,当其中一台服务器向微信请求access token时,会造成另一台服务器的access token过期

  2. 微信Access Token 缓存方法

    微信Access Token默认缓存是2小时,但是需要特别强调,微信服务号和微信企业号缓存并不相同. (1)微信公众号号:每次Http请求Access Token 系统会返回不同的Token,并附带超 ...

  3. 微信公众平台开发(112) 自动更新微信access token

    关键字:Memcache access_token 更新 存储 7200 本文介绍如何存储及更新 access token的方法. 一.Access Token access_token是公众号的全局 ...

  4. 使用缓存Memcache存储更新微信access token

    关键字:Memcache access_token 更新 存储 7200 本文介绍如何使用缓存Memcache存储及更新 access token的方法. 一.Access Token access_ ...

  5. iOS实现OAuth2.0中刷新access token并重新请求数据操作

    一.简要概述 OAuth2.0是OAuth协议的下一版本,时常用于移动客户端的开发,是一种比较安全的机制.在OAuth 2.0中,server将发行一个短有效期的access token和长生命期的r ...

  6. ASP.NET OAuth:解决refresh token无法刷新access token的问题

    最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_gran ...

  7. Access Token 与 Refresh Token【转载哒科普啊】

    Access Token 与 Refresh Token   access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因 ...

  8. Oauth2.0(三):Access Token 与 Refresh Token

    access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因为,access token 在使用的过程中可能会泄露.给 a ...

  9. Oauth2.0:Access Token 与 Refresh Token

    access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因为,access token 在使用的过程中可能会泄露.给 a ...

随机推荐

  1. MVC Cookie的使用

    1.创建Cookies有两种方法: Response.Cookies["userName"].Value = "patrick"; Response.Cooki ...

  2. 学习制作第一个 openfire 插件

    本文地址:http://www.cnblogs.com/jying/p/3683409.html 蛋疼的自学路~~~ 开始想法是修改openfire源码,但修改后发现不好测试,不会发布,不会使用,各种 ...

  3. VSS记住用户名和密码

    计算机-属性-高级系统设置-环境变量 新建两个环境变量如下:        SSUSER(VSS的用户名)        SSPWD(VSS的密码)

  4. 可以让电脑卡机的c++程序

    #include <iostream> #include<windows.h> #include <shellapi.h> #include <stdio.h ...

  5. Android中webview和js之间的交互(转)

    http://www.cnblogs.com/leizhenzi/archive/2011/06/29/2093636.html 1.android中利用webview调用网页上的js代码. Andr ...

  6. LDAP与migrationtools 导入系统账号

    1:安装migrationtools yum -y install migrationtools 2:修改配置文件 cd     /usr/share/migrationtools 可以看到很多的文件 ...

  7. javascript:history.go()和History.back()的区别

    http://www.mikebai.com/Article/2009-11/757.html

  8. 一个div,包含三个小的div,平均分布的样式

    从11月份开始,自学前端开发,写静态页面中,经常用到一个大的div下包含三个小的div,平均分布div大小样式,写过多次,也多次忘记,每次都要现找资料,不想之后,在这么麻烦,索性今天自己记录一下,方便 ...

  9. HDU 5652(二分+广搜)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/128683#problem/E 题目大意:给定一只含有0和1的地图,0代表可以走的格子,1代表不能走的格 子.之 ...

  10. springmvc 学习笔记_1

    一.回顾JavaWeb中的MVC设计模式 1)MVC这种设计模式,不光运用于Web领域,而且也能用于非Web领域 2)今天说的MVC特指一种表现层设计模式,不限于Java语言 二.回顾struts2+ ...