3

为了让 System.Net 与 Microsoft Visual C# 2008 Express Edition 一起工作,我需要做些什么吗?我似乎根本无法让任何 Web 类型的控件或类工作.. 下面的 WebClient 示例总是抛出异常“无法连接到远程服务器”..因此我无法加载 WebBrowser 控件一页。

这是代码(已编辑):

using System;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            using (WebClient client = new WebClient()) {
                string s = client.DownloadString("http://www.google.com");
                this.textBox1.Text = s;
            }
        }
    }
}

这是一个简单的形式,其中只有一个文本框控件(多行设置为 true)。异常被抛出DownloadString(...)在线。我也尝试使用WebRequest.. 同样的例外!

编辑:

我连接到直接连接到我的电缆调制解调器的 Linksys WRT54G 路由器。我不在代理服务器后面,尽管我确实运行proxycfg -u了并且得到了:

Updated proxy settings
Current WinHTTP proxy settings under:
  HKEY_LOCAL_MACHINE\
    SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\
      WinHttpSettings :

 Direct access (no proxy server).

我使用的是 Windows XP 并且没有运行任何类型的防火墙。目前只有AVG。我很确定我不应该转发任何端口或任何东西,但我确实尝试将端口 80 转发到路由器上的工作站。没有帮助。

4

2 回答 2

5

更新-我的意思是proxycfg,不是httpcfgproxycfg -u将进行导入)

首先,这里的“快递”没有什么特别之处。其次,contoso 是一个虚拟 url。

你在什么操作系统上?你会通过代理服务器吗?如果是这样,您可能需要配置操作系统的 http 堆栈 -proxycfg将在 XP 上完成这项工作,并可用于导入用户的 IE 设置。

该示例很好,尽管它不能正确处理多个IDisposable对象-以下要简单得多:

        using (WebClient client = new WebClient()) {
            string s = client.DownloadString("http://www.google.com");
            // do something with s
        }
于 2009-01-11T09:06:23.073 回答
0

您的 PC 上是否有任何可能影响它的防火墙软件?您是否尝试过 Google 以外的其他网站?

于 2009-01-16T19:37:58.143 回答