Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

C Sharp FTP Dateigröße

Frage Entwicklung C und C++

Mitglied: MisterExpulso

MisterExpulso (Level 1) - Jetzt verbinden

28.03.2013, aktualisiert 13:04 Uhr, 1657 Aufrufe

Moin zusammen,

ich bin gerade dabei eine FTP Klasse zu schreiben. Diese soll unter anderem auch die Dateigröße einer Datei auf dem Server zurückgeben:
01.
public long getFileSize(string serverFile) 
02.
03.
            long size = -1; 
04.
            FtpWebRequest request = initConnection(serverFile); 
05.
            request.Method = WebRequestMethods.Ftp.GetFileSize; 
06.
            WebResponse response = checkConnection(request); 
07.
            if (response != null) 
08.
09.
                size = response.ContentLength;               
10.
11.
            return size; 
12.
        }
mit den beiden Hilfsmethoden:
initConnection:
01.
public FtpWebRequest initConnection(string serverFile) 
02.
03.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(@"ftp://" + server + @"/" + serverFile); 
04.
            request.Credentials = new NetworkCredential(user, password); 
05.
            return request; 
06.
        }
checkConnection:
01.
public WebResponse checkConnection(FtpWebRequest request) 
02.
03.
            WebResponse response = null; 
04.
            try { 
05.
                response = request.GetResponse(); 
06.
            } catch (Exception ex) { } 
07.
            return response; 
08.
        }
Wenn ich mir nun ein Objekt aus dieser Klasse erzeuge, kommt es zu einer Exception:
01.
Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar.
Umgehen lässt sich das ganze allerdings, wenn ich in getFileSize einen Workaround einbaue:
01.
long size = -1; 
02.
 
03.
// BUGFIX 
04.
FtpWebRequest r = initConnection(serverFile); 
05.
r.Method = WebRequestMethods.Ftp.DownloadFile; 
06.
WebResponse w = checkConnection(r); 
07.
w.Close(); 
08.
// + + + + +  
09.
 
10.
FtpWebRequest request = initConnection(serverFile); 
11.
... (s.o.)
Jetzt baut sich die Verbindung ohne Probleme auf. Das ist ja an und für sich gut. ich wüsste nur gerne warum das funktioniert.


Gruß,
DB
Ähnliche Inhalte
Visual Studio
C-Sharp Code in native Code kompilieren? (3)

Frage von clragon zum Thema Visual Studio ...

Internet
IP Kamera mit periodischem FTP Upload (2)

Frage von ChrisFah zum Thema Internet ...

C und C++
C-Sharp Event fängt an rumzuspinnen (2)

Frage von Yanmai zum Thema C und C ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(2)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...