Esempio n. 1
0
        public async Task <dynamic> GetJsonAsync(string api, CancellationToken token = new CancellationToken(), Pairs parapairs = null)
        {
            var query = parapairs.ToPairsString();

            try
            {
                var response = await Client.GetAsync($"{api}{query}", token);

                var s = await response.Content.ReadAsStringAsync();

                return(JsonConvert.DeserializeObject(s));
            }
            catch (Exception e)
            {
                Extend.Log(e);
                Extend.ShowMessage(e.Message);
                return(null);
            }
        }
Esempio n. 2
0
        public async Task <XmlDocument> GetXmlAsync(string api, CancellationToken token = new CancellationToken(), Pairs pairs = null)
        {
            var query = pairs.ToPairsString();
            var xml   = new XmlDocument();

            try
            {
                var response = await Client.GetAsync($"{api}{query}", token);

                var s = await response.Content.ReadAsStringAsync();

                xml.LoadXml(s);
            }
            catch (Exception e)
            {
                Extend.ShowMessage(e.Message);
                Extend.Log(e);
                return(null);
            }
            return(xml);
        }
Esempio n. 3
0
        public async Task <Task> TrySearchNextPageAsync()
        {
            var cts = new CancellationTokenSource(TimeSpan.FromSeconds(25));
            var t   = SearchNextPageAsync(cts.Token);

            SearchingTasksCts.Add(cts);
            try
            {
                await t;
            }
            catch (OperationCanceledException)
            {
                Extend.ShowMessage("搜索已取消");
            }
            catch (Exception ex)
            {
                Extend.ShowMessage(ex.Message, ex.ToString(), Extend.MessagePos.Window);
                Extend.Log(ex.Message, ex.StackTrace);
            }

            SearchingTasksCts.Remove(cts);
            return(t);
        }