0 votes

Exception sur C # - mais le programme fonctionne toujours

Voici ce qu'il se passe. J'ouvre un fichier sur FTP qui existe en utilisant un WebClient. Le fichier existe et la fonction a déjà fonctionné dans le passé, mais maintenant, pour une raison quelconque, elle lance une exception. (System.Net.WebException: Le serveur distant a renvoyé une erreur : (550) Fichier non disponible (par exemple, fichier introuvable, pas d'accès).). La chose drôle, c'est que 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?

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

Voici la trace de la pile :

[WebException: Le serveur distant a renvoyé une erreur : (550) Fichier non disponible (par exemple, fichier introuvable, pas d'accès).]
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

0voto

Vinay Sajip Points 41286

Le fichier est probablement là depuis une exécution précédente réussie?

0voto

Sergii Volchkov Points 901

Le script pourrait être en train d'utiliser une version du fichier enregistrée lorsque la demande Web fonctionnait encore.

0voto

Bhaskar Points 3565

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

0voto

Brian Hicks Points 1496

Il s'est avéré que j'appelais une fonction qui appelait la fonction à laquelle je voulais accéder.

Donc, la solution je suppose était de regarder la pile. J'aurais dû faire ça en premier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X