2009-07-30 3 views
0

Hier ist was los ist. Ich öffne eine Datei auf FTP, die mit einem WebClient existiert. Die Datei existiert und die Funktion hat in der Vergangenheit funktioniert, aber jetzt aus irgendeinem Grund eine Ausnahme ausgelöst. (System.Net.WebException: Der Remote-Server hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar (z. B. Datei nicht gefunden, kein Zugriff).). Das Lustige daran ist, dass das Skript immer noch die Datei öffnet und tut, was es soll. Hat jemand schon mal so etwas gehört?Ausnahme bei C# - aber das Programm funktioniert immer noch

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

Hier ist der Stack-Trace:

[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

Wird die Ausnahme von .NET Framework-Code oder Ihrem Code ausgelöst? –

+0

Brauchen Sie eine Stack-Trace. –

+0

Ich bin nicht sicher, wo es geworfen wird. Ich bin mir ziemlich sicher, dass es mein Code ist, aber das hat vorher funktioniert, also bin ich mir nicht sicher. Ich habe den Stack-Trace angehängt. –

Antwort

0

Es stellt sich heraus, dass ich eine Funktion aufgerufen habe, die die Funktion aufgerufen hat, die ich versuchte zu erreichen.

Also, die Lösung, die ich vermutete, war auf den Stapel zu schauen. Hätte das zuerst tun sollen.

0

Vermutlich ist die Datei dort von einem vorherigen erfolgreichen Lauf?

+0

Die Datei wird von einem Server auf einen anderen kopiert. (ein Intranet nach außen). Die Dateien im Intranet existieren. –

0

Das Skript verwendet möglicherweise eine Version der Datei, die gespeichert wurde, als die Webanforderung noch funktionierte.

0

Vielleicht ist die Datei in einem Benutzer von einem anderen Client/Benutzer.