/// 获取token,如果存在且没过期,则直接取token
/// <summary>
/// 获取token,如果存在且没过期,则直接取token
/// </summary>
/// <returns></returns>
public static string GetExistAccessToken()
{
// 读取XML文件中的数据
string filepath = System.Web.HttpContext.Current.Server.MapPath("/XMLToken.xml");
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader str = new StreamReader(fs, System.Text.Encoding.UTF8);
XmlDocument xml = new XmlDocument();
xml.Load(str);
str.Close();
str.Dispose();
fs.Close();
fs.Dispose();
string Token = xml.SelectSingleNode("xml").SelectSingleNode("AccessToken").InnerText;
DateTime AccessTokenExpires = Convert.ToDateTime(xml.SelectSingleNode("xml").SelectSingleNode("AccessExpires").InnerText);
//如果token过期,则重新获取token
if (DateTime.Now >= AccessTokenExpires)
{
AccessToken mode = Getaccess();
//将token存到xml文件中,全局缓存
xml.SelectSingleNode("xml").SelectSingleNode("AccessToken").InnerText = mode.access_token;
DateTime _AccessTokenExpires = DateTime.Now.AddSeconds(mode.expires_in);
xml.SelectSingleNode("xml").SelectSingleNode("AccessExpires").InnerText = _AccessTokenExpires.ToString();
xml.Save(filepath);
Token = mode.access_token;
}
return Token;
}