2009-07-30 6 views
0

Voici ce qui se passe. J'ouvre un fichier sur FTP qui existe en utilisant un WebClient. Le fichier existe et la fonction a fonctionné dans le passé, mais maintenant, pour une raison quelconque, déclenche une exception. (System.Net.WebException: Le serveur distant a renvoyé une erreur: (550) Fichier indisponible (par exemple, fichier introuvable, pas d'accès).). La chose amusante est, le script ouvre toujours le fichier et fait ce qu'il est censé faire. Est-ce que quelqu'un a déjà entendu parler de quelque chose comme ça?Exception sur C# - mais le programme fonctionne toujours

WebClient downloadRequest = new WebClient(); 
downloadRequest.Credentials = new NetworkCredential(pusername, ppassword); 
byte[] downloadBytes = downloadRequest.DownloadData(purl); 

Voici la trace de la pile:

[WebException: The remote server returned an error: (550) File unavailable (e.g., file not found, no access).] 
System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) +287 
System.Net.WebClient.DownloadData(Uri address) +106 
System.Net.WebClient.DownloadData(String address) +29 
ftp_connect.copyFile(String purl, String pusername, String ppassword, String pubordev) in d:\wwwdev\test\ftp\ftpconnect.aspx.cs:112 
ftp_connect.copyFolder(String purl, String pusername, String ppassword, String pubordev) in d:\wwwdev\test\ftp\ftpconnect.aspx.cs:160 
ftp_connect.Page_Load(Object sender, EventArgs e) in d:\wwwdev\test\ftp\ftpconnect.aspx.cs:93 
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 
System.Web.UI.Control.OnLoad(EventArgs e) +99 
System.Web.UI.Control.LoadRecursive() +50 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627 
+0

L'exception provient-elle du code .NET Framework ou de votre code? –

+0

Besoin d'une trace de pile. –

+0

Je ne suis pas sûr d'où il est jeté. Je suis assez sûr que c'est mon code, mais cela a fonctionné avant, donc je ne suis pas sûr. J'ai attaché la trace de la pile. –

Répondre

0

Il s'est avéré que j'appelais une fonction qui appelait la fonction que j'essayais d'obtenir. Donc, la solution, je suppose, était de regarder la pile. Aurait dû le faire en premier.

0

On peut supposer que le fichier est là d'une course réussie précédente?

+0

Le fichier est en cours de copie d'un serveur à l'autre. (un intranet à l'extérieur). Les fichiers sur l'intranet existent. –

0

Le script utilisait peut-être une version du fichier enregistrée lorsque la requête Web fonctionnait toujours.

0

Peut-être que le fichier est utilisé par un autre client/utilisateur.

Questions connexes