Exemplo n.º 1
0
        private static void ScheduleGetAllRecentContestsJsonCallback(Object state)
        {
            try
            {
                HttpWebRequest request = HttpWebRequest.CreateHttp(ConfigurationManager.RecentContestURL);
                request.Timeout = REQUEST_TIMEOUT;
                request.BeginGetResponse(ar =>
                {
                    HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(ar);

                    using (Stream stream = response.GetResponseStream())
                    {
                        StreamReader sr = new StreamReader(stream);
                        String content  = RecentContestManager.ProcessRecentContestsJsonContent(sr.ReadToEnd());

                        if (!String.IsNullOrEmpty(content))
                        {
                            RecentContestCache.SetRecentContestCache(content);//设置缓存
                        }
                    }
                }, request);
            }
            catch (System.Exception)
            {
                ;//Do Nothing
            }
        }
Exemplo n.º 2
0
        private static async Task <String> GetAllRecentContestsJsonFromWebAsync()
        {
            HttpClient client = new HttpClient();

            client.Timeout = TimeSpan.FromMilliseconds(REQUEST_TIMEOUT);

            String content = await client.GetStringAsync(ConfigurationManager.RecentContestURL);

            return(RecentContestManager.ProcessRecentContestsJsonContent(content));
        }
Exemplo n.º 3
0
        private const Int32 REQUEST_TIMEOUT = 20000;//ms
        #endregion

        #region 用户方法
        /// <summary>
        /// 根据比赛信息地址获取最近比赛信息
        /// </summary>
        /// <param name="url">比赛信息地址</param>
        /// <returns>最近比赛信息</returns>
        public static async Task <String> GetAllRecentContestsJsonAsync()
        {
            String content = RecentContestCache.GetRecentContestCache();//获取缓存

            if (String.IsNullOrEmpty(content))
            {
                content = await RecentContestManager.GetAllRecentContestsJsonFromWebAsync();

                RecentContestCache.SetRecentContestCache(content);//设置缓存
            }

            return(content);
        }