2009-01-11 9 views
2

Y a-t-il quelque chose que je dois faire pour que System.Net fonctionne avec Microsoft Visual C# 2008 Express Edition? Je n'arrive pas à obtenir des contrôles de type Web ou des classes à travailler du tout .. l'exemple ci-dessous WebClient lève toujours l'exception "Impossible de se connecter au serveur distant" .. et par conséquent je ne peux pas obtenir le contrôle WebBrowser charger une page non plus.Le client Web de System.Net en C# ne se connectera pas au serveur

Voici le code (Edited):

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

Ceci est une forme simple avec seulement un contrôle TextBox (avec jeu multiligne true) en elle. L'exception est levée sur la ligne DownloadString(...). J'ai également essayé d'utiliser WebRequest .. même exception!

EDIT:

Je suis connecté à un routeur Linksys WRT54G qui se connecte directement à mon modem câble. Je ne suis pas derrière un serveur proxy, même si je ne cours proxycfg -u et je suis arrivé:

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

Direct access (no proxy server). 

J'utilise Windows XP et ne fonctionne pas tout type de pare-feu. Seulement AVG pour le moment. Je suis assez sûr que je ne devrais pas avoir à transférer des ports ou quoi que ce soit, mais j'ai essayé de rediriger le port 80 vers mon poste de travail sur mon routeur. N'a pas aidé.

Répondre

5

(mise à jour - Je voulais dire proxycfg, pas httpcfg, proxycfg -u fera l'importation)

D'abord, il n'y a rien de spécial "express" ici. Deuxièmement, contoso est une URL factice.

De quel système d'exploitation êtes-vous? Et passez-vous par un serveur proxy? Si c'est le cas, vous devrez peut-être configurer la pile http du système d'exploitation - proxycfg fera le travail sur XP, et peut être utilisé pour importer les paramètres IE de l'utilisateur.

L'échantillon est très bien, même si elle ne gère pas correctement les multiples objets IDisposable - ce qui suit est beaucoup plus simple:

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

Je suis sur XP et ne fonctionne pas via un serveur proxy. – Alpants

+0

Encore, il pourrait être intéressant d'essayer 'proxycfg -u'; Aussi, avez-vous un pare-feu agressif en cours d'exécution? Essayez de vérifier les entrées de blocage/refus ... –

0

Avez-vous un logiciel de pare-feu sur votre PC qui pourrait avoir une incidence sur elle? Avez-vous essayé avec d'autres sites que Google?

+0

Oui, je l'ai essayé avec différents sites, et non, je ne suis pas en train d'utiliser un pare-feu sur mon PC. – Alpants

Questions connexes