更新:我已经尝试过HttpWebRequest,它也表现出同样的行为。
我正在尝试使用WebClient DownloadStringAsync来检索Outlook加载项(VSTO / .Net 4.0)中的一些(非常小的)数据。在它提出请求之前大约需要10-15秒。
利用谷歌的权力,我被指向它试图获取代理设置的事实,我应该将这些设置为null。我在代码中尝试了这两个:
WebClient serviceRequest = new WebClient();
serviceRequest.Proxy = null;
并添加App.config文件并放置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<defaultProxy enabled="false">
<proxy/>
<bypasslist/>
<module/>
</defaultProxy>
</system.net>
</configuration>
我通过'New Item'界面添加了文件(我不确定它是否被拾取和使用)。
这些解决方案都没有奏效。有什么东西我可以尝试改变。
有问题的代码如下:
class MyClient
{
string url = "http://192.168.1.99:4567/contact.json?token={0}&email={1}";
WebClient serviceRequest = new WebClient();
public void getContact(string email, DownloadStringCompletedEventHandler methodName)
{
Uri target = new Uri(String.Format(url, "1234", email));
serviceRequest.Proxy = null;
if(serviceRequest.IsBusy)
{
serviceRequest.CancelAsync(); // Changed our mind and switched email
}
serviceRequest.DownloadStringCompleted += methodName;
serviceRequest.DownloadStringAsync(target);
}
}
答案 0 :(得分:0)
发现了问题所在。
我正在使用Windows 2003 Server虚拟机(我可用的)。一旦我在另一台虚拟机上安装了Windows 7(和环境)并尝试了它,问题就消失了。
服务器计算机未启用IE Enhanced Security。