示例#1
0
        public async Task <string> DoGetAsync(string url,
                                              string requestParam,
                                              IDictionary <string, string> headParams = null,
                                              int timeout = 20000)
        {
            var wc = new CustomWebClient();

            wc.Encoding = Encoding.UTF8;
            if (headParams != null)
            {
                foreach (var s in headParams)
                {
                    wc.Headers.Add(s.Key, s.Value);
                }
            }

            ServicePointManager.DefaultConnectionLimit = 1000;
            wc.Timeout = timeout;
            var uri         = string.Format("{0}?{1}", url, requestParam);
            var resultBytes = await wc.DownloadDataTaskAsync(uri);

            var result = Encoding.UTF8.GetString(resultBytes);

            return(result);
        }
 public async Task<byte[]> DownloadAsync(string url, IDictionary<string, string> headers, string method)
 {
     using (var client = new CustomWebClient())
     {
         SubscribeToDownloadEvents(client);
         if (headers != null)
         {
             foreach (var header in headers)
                 client.Headers[header.Key] = header.Value;
         }
         
         var result = await client.DownloadDataTaskAsync(url);
         UnsubscribeFromDownloadEvents(client);
         return result;
         
     }
 }
        public async Task <byte[]> DownloadAsync(string url, IDictionary <string, string> headers, string method)
        {
            using (var client = new CustomWebClient())
            {
                SubscribeToDownloadEvents(client);
                if (headers != null)
                {
                    foreach (var header in headers)
                    {
                        client.Headers[header.Key] = header.Value;
                    }
                }

                var result = await client.DownloadDataTaskAsync(url);

                UnsubscribeFromDownloadEvents(client);
                return(result);
            }
        }