예제 #1
0
        /// <summary>
        /// The begin request.
        /// </summary>
        /// <param name="url">The url.</param>
        /// <param name="callback">The callback.</param>
        /// <typeparam name="T">The type that the request is being made for</typeparam>
        public static void BeginRequest <T>(string url, Action <HttpResponse <T> > callback)
        {
            var client = new GZipWebClient();

            var timer = new Timer(state => client.CancelAsync(), null, timeout, TimeSpan.FromMilliseconds(-1));

            Debug.WriteLine("HTTP Request: {0}", url);
            client.DownloadStringCompleted += (s, e) => ProcessResponse(callback, e);
            client.DownloadStringAsync(new Uri(url, UriKind.Absolute), timer);
        }