webForumDet fria alternativet

Ingen utdata i stdout

0 svar · 391 visningar · startad av Guffa

GuffaMedlem sedan juni 2004533 inlägg
#1

Jag har ett program som beter sig olika om jag kör det innifrån Visual Studio, eller om jag kör exe-filen. Jag anropar programmet ftp för att skicka en fil, och när jag kör mitt program som exe-fil så ger knappt ftp-programmet ifrån sig någon utdata alls. Filen skickas, men jag får ingen begräftelse alls ifrån ftp-programmet att den gjorde det.

Så här ser utdatat ut när jag kör mitt program innifrån Visual Studio:
-----
ftp> Connected to photo.guffa.com.

open photo.guffa.com
220 Microsoft FTP Service
User (photo.guffa.comnone)):
331 Password required for guffa.

230 User guffa logged in.
ftp> cd UnusedPhotos/large
250 CWD command successful.
ftp> put G:\TRIPPER\large\991-11895.jpg
200 PORT command successful.
150 Opening ASCII mode data connection for 991-11895.jpg.
226 Transfer complete.
ftp: 257154 bytes sent in 0,25Seconds 1028,62Kbytes/sec.

ftp> ftp> close
quit
-----

Så här ser det ut när jag kör exe-filen:
----
User (photo.guffa.comnone)): open photo.guffa.com

cd UnusedPhotos/large
put G:\TRIPPER\large\991-11895.jpg
close
quit
-----

Jag har skrivit koden utifrån dokumentationen i MSDN, sedan har jag även kollat i den här artikeln:

http://www.c-sharpcorner.com/References/System.Diagnostic.Process.asp

Det ser inte ut som om jag har glömt något i min kod.

Så här ser den del av koden ut som anropar ftp-programmet. Strängen tempName innehåller den fulla sökvägen till en textfil med kommandon för ftp-programmet.

info = new ProcessStartInfo("ftp", "-s:\"" + tempName + "\"");
info.UseShellExecute = false;
info.RedirectStandardOutput = true;
info.RedirectStandardError = true;
info.CreateNoWindow = true;
process = Process.Start(info);
output = process.StandardOutput.ReadToEnd();
error = process.StandardError.ReadToEnd();
process.Dispose();

Jag skriver ut värdena i både output och error, så jag ser att det inte kommer några felmeddelanden från ftp-programmet heller.

Någon som har en aning om varför det bara fungerar när jag kör programmet innifrån Visual Studio?

263 ms totalt · 3 externa anrop · v20260731065814-full.30151723
130 ms — hämta forumlista (db)
131 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)