因为免费的每天可以使用10次,因此设置时间间隔,不是每次获取都重新获取新的数据。大概3小时一次。
设置两个静态变量(公用)
public static DateTime RequestTime; public static ReturnModel PreviusResult;分别是上次get的时间,和上次获取的数据。
[WebMethod] public ReturnModel GetNews(string url = "https://api.currentsapi.services/v1/search?country=CN") { var nowt = DateTime.Now; // if (RequestTime != null) { var duraturn = (DateTime.Now - RequestTime); if (duraturn.TotalHours >= 3) { //请求新的数据 return GetModel(url); } else { //时间较短,不请求新的数据 //但如果static 变量为空 仍然尝试请求数据 if (PreviusResult==null) { return GetModel(url); } else { return PreviusResult; } } } else { //请求新的数据 return GetModel(url); } }