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, 1666 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
Windows Server
C sharp oder Powershell oder VB? (3)

Frage von 1410640014 zum Thema Windows Server ...

C und C++
gelöst C-sharp Form buggt (2)

Frage von Yanmai zum Thema C und C ...

C und C++
gelöst C-Sharp Process.Start und SubProcesses (4)

Frage von mayho33 zum Thema C und C ...

Visual Studio
gelöst C-Sharp WPF XAML CheckBox.IsEnabled wenn ListViewItem.Select (3)

Frage von mayho33 zum Thema Visual Studio ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

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

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Batch & Shell
Anfängerfragen - Powershell - Mailboxvertretung im Pulk einrichten (8)

Frage von Yoshimitsu zum Thema Batch & Shell ...