2009-01-11 64 views
2

有什麼我需要做的,以獲得System.Net與Microsoft Visual C#2008速成版工作?我似乎無法得到任何Web類型的控件或類工作..下面的WebClient示例總是拋出異常「無法連接到遠程服務器」..因此,我無法得到WebBrowser控件加載一個頁面。System.Net的C#中的Webclient將不會連接到服務器

下面是代碼(編):

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; 
      } 
     } 
    } 
} 

這是一個簡單的表格,只有一個TextBox控件(與多行設置爲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轉發到我的路由器上的工作站。沒有幫助。

回答

5

更新 - 我的意思是proxycfg,不httpcfg; proxycfg -u會做進口)

首先,有沒有什麼特別的 「表達」 在這裏。其次,contoso是一個虛擬網址。

你在什麼操作系統上?你會經歷一個代理服務器?如果是這樣,您可能需要配置操作系統的http堆棧 - proxycfg將在XP上完成這項工作,並可用於導入用戶的IE設置。

樣品是好的,但它不能正確處理多IDisposable對象 - 下面就簡單多了:

 using (WebClient client = new WebClient()) { 
      string s = client.DownloadString("http://www.google.com"); 
      // do something with s 
     } 
+0

我在XP上,沒有運行代理服務器。 – Alpants 2009-01-11 09:19:46

+0

不過,它可能值得嘗試`proxycfg -u`;另外,你是否有任何積極的防火牆運行?嘗試檢查任何塊/拒絕條目... – 2009-01-11 09:36:37

0

你有你的電腦,可能會影響它在任何防火牆軟件?您是否嘗試過Google以外的任何網站?