2009-02-07 13 views
0

Voici mon code côté client et côté serveur. Mon code est simple, il suffit de télécharger un fichier sur un site Web ASP.Net.Erreur de téléchargement de fichier

Mon code client émet une exception quand il fonctionne sur Vista (x64, Enterprise, SP1), mais fonctionne très bien sur Windows Server 2003.

Toutes les idées?

10.10.12.162 est mon adresse de serveur.

[Code] Client:

static void Main(string[] args) 
    { 
     Console.Write("\nPlease enter the URI to post data to : "); 
     String uriString = Console.ReadLine(); 

     WebClient myWebClient = new WebClient(); 

     Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URI"); 
     string fileName = Console.ReadLine(); 
     Console.WriteLine("Uploading {0} to {1} ...", fileName, uriString); 

     DateTime begin = DateTime.Now; 

     byte[] responseArray = null; 
     try 
     { 
      responseArray = myWebClient.UploadFile(uriString, fileName); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
      Console.WriteLine(ex.ToString()); 
     } 

     DateTime end = DateTime.Now; 

     Console.WriteLine("Elapsed time is: {0}", (end - begin).TotalMilliseconds); 
    } 

Serveur:

public partial class FileUploadHandler : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     foreach (string f in Request.Files.AllKeys) 
     { 
      HttpPostedFile file = Request.Files[f]; 
      file.SaveAs("D:\\UploadFile\\UploadedFiles\\" + file.FileName); 
     } 
    } 
} 

Exception du côté client:

Impossible de se connecter au serveur distant System.Net.WebException: Impossible se connecter au serveur distant ---> System.Net. Sockets.SocketException: Aucune connexion n'a pu être établie car la machine cible activement refusé 10.10.12.162:1031 à System.Net.Sockets.Socket.DoConnect (EndPoint endPointSnapshot, SocketAddre ss SocketAddress) à System.Net.ServicePoint .ConnectSocketInternal (Boolean connectFailure, chaussette et s4, socket, socket & prise, l'adresse IPAddress &, état ConnectSocketState, IAsyncResult asyncResult, temporisation Int32, exception & exception) --- Fin de trace de pile d'exception interne --- à System.Net.WebClient.UploadFile (adresse Uri, méthode String, String fileNam e) à FileUploadClient.Program.Main (String [] args) dans D: \ UploadFile \ FileUploadClient \ Program.cs: ligne 30 [/ code]

salutations, George

Répondre

1

Il n'y a rien au sujet de ce code qui m'alarmerait trop. Ouvrez un poste de travail distant sur l'ordinateur qui vous cause des problèmes.

Ouvrez une ligne de commande. la commande:

telnet 10.10.12.162 1031

Voyez-vous un curseur, ou ne telnet vous donner une erreur qu'il ne peut pas se connecter? Si vous obtenez une erreur de la part de telnet, vous avez probablement un problème de problème de pare-feu/problème de pare-feu/autre problème de connectivité de la carte réseau sans rapport avec votre code.

+0

Echec de la connexion Telnet. Mais j'ai essayé de ping l'hôte est un succès. Voici le message d'erreur. Des idées? Connexion à 10.10.12.162 ... Impossible d'ouvrir la connexion à l'hôte, sur le port 1031: Connec t échoué – George2

+0

J'ai essayé quand je publie le projet ASP.Net du côté serveur à IIS et en utilisant le port 80, tout va bien, mais lorsque vous appuyez sur F5 pour exécuter dans Visual Studio, il existe une telle erreur. Des idées? – George2

+0

Eh bien, l'erreur telnet vous indique que quelque chose bloque ce port au niveau du réseau, ou qu'il n'y a pas de serveur qui écoute sur ce port. Vous voudrez vérifier les paramètres de votre pare-feu et de votre serveur sur votre machine 10.10.12.162. –

Questions connexes