using System;using System.Net;using System.Diagnostics;using System.Threading;namespace Test{ static class Program { [STAThread] static voID Main() { bool exit = false; WebClIEnt wc = new WebClIEnt(); DateTime before = DateTime.Now; wc.DownloadStringAsync(new Uri("http://74.125.95.147"),"First"); // IP Address of Google,so DNS requests don't add to time. wc.DownloadStringCompleted += delegate(object sender,DownloadStringCompletedEventArgs e) { DeBUG.Writeline(e.UserState + " Call: " + (DateTime.Now - before)); if ((string)e.UserState == "First") { before = DateTime.Now; wc.DownloadStringAsync(new Uri("http://74.125.95.147"),"Second"); } else exit = true; }; /* * * Output: * * First Call: 00:00:13.7647873 * Second Call: 00:00:00.0740042 * */ while (!exit) Thread.Sleep(1000); } }}解决方法 您的计算机配置为执行自动代理检测.
你可以在这里禁用它:
或者,您可以手动覆盖WebClIEnt使用的代理.将WebClient.Proxy Property设置为null以指定不应使用代理.任何显式代理设置都会禁用自动代理检测.
clIEnt.Proxy = null;
但是,在这种情况下,您应该为用户提供在应用程序中配置代理的选项,因为某些用户在访问Web时需要使用代理.
总结以上是内存溢出为你收集整理的c# – DownloadStringAsync在第一次调用时阻塞线程14秒全部内容,希望文章能够帮你解决c# – DownloadStringAsync在第一次调用时阻塞线程14秒所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)