通过http cache来避免频繁调用接口
2016-03-21 13:13
681 查看
try { WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; string datas; string GetZCS = HttpRuntime.Cache.Get("GetZCS_htmlStr") == null ? "" : HttpRuntime.Cache.Get("GetZCS_htmlStr").ToString (); if (GetZCS != "") { datas = GetZCS; } else { datas = client.DownloadString(Config.Kzr_Url); HttpRuntime.Cache.Insert("GetZCS_htmlStr", datas, null, DateTime.Now.AddHours(1), TimeSpan.Zero); } if (!String.IsNullOrEmpty(datas)) { var Data = JsonHelper.Deserialize<Dictionary<string, object>>(datas); var List = new List<Dictionary<string, object>>(); if (Data == null || Data["Datas"] == null) List = JsonHelper.Deserialize<List<Dictionary<string, object>>>(datas); else List = JsonHelper.Deserialize<List<Dictionary<string, object>>>(JsonHelper.Serialize(Data["Datas"])); foreach (Dictionary<string, object> item in List) { if (List.IndexOf(item) == 0) { kzr_FullName = (string)item["FundName"]; kzr_Rate = ((decimal)item["Rate"]).ToString(); kzr_Period = (item["Period"]).ToString(); kzr_MinRgAppend = Math.Ceiling(((decimal)item["minRgAppend"])).ToString(); } } if (List == null) { List = new List<Dictionary<string, object>>(); } //Rmjj_DicResult.Add("Rmjj", List); } } catch (Exception ex) { }
相关文章推荐
- http://www.jianshu.com/p/77847c0027c9
- ccf 无线网络
- 从JAVA多线程理解到集群分布式和网络设计的浅析
- ccf 网络延时
- CocoaAsyncSocket网络通信使用之tcp连接
- tcp/ip ---以太网和IEEE 802封装
- Android 6.0 HttpClient弃用问题
- tcp/ip ---链路层
- TCP/UDP协议
- nagios 监控指定tcp端口原理和方法
- http协议通信原理的问答
- nginx使用ssl模块配置HTTPS支持
- Android必知必会-使用okhttp的PUT方式上传文件
- Android必知必会-使用okhttp的PUT方式上传文件
- iOS开发-网络请求
- HTTP状态码
- 网络面试题:TCP和UDP的9个区别是什么
- 神经网络和反向传播算法推导
- TCP与Socket状态转换图
- 第八章 网络的时代—网络开发(4)