WebClient DownloadStringAsync加载速度非常慢

时间:2011-01-08 05:43:14

标签: c# webclient outlook-addin outlook-2007

更新:我已经尝试过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);
    }
}

1 个答案:

答案 0 :(得分:0)

发现了问题所在。

我正在使用Windows 2003 Server虚拟机(我可用的)。一旦我在另一台虚拟机上安装了Windows 7(和环境)并尝试了它,问题就消失了。

服务器计算机未启用IE Enhanced Security。