Hallo,
Ich versuche mich gerade in einem FTP-Client. Allerdings schiesst sich das Programm "ohne jegliche Erklärung" an einer bestimmten Stelle ab...
Es gibt keine Exception, es ist kein Timeout, im Debug Modus hört der Code einfach an einer Stelle auf, und die App stuckt...
Hier mal der code: Das ganze befindet sich in einer FTPConnector Klasse (die ich gerade schreibe) und _xxx sind private variablen:
Die MSBoxen dienen zum "dirty debugging"
Die Ordner Struktur des Servers sieht zunächst so aus:
DIR Allgemein
--> FILE test.txt
DIR bnb
--> DIR Ajax
---->FILE ajax.html
und genau bis hierhin läuft das script und bricht dann - ohne kommentar - an der Stelle "downloadResponse = downloadRequest.GetResponse" ab....
starte ich mit der "Active dir" bei bnb, so liest er aber munter weiter und die unterordner aus....
Ich versuche mich gerade in einem FTP-Client. Allerdings schiesst sich das Programm "ohne jegliche Erklärung" an einer bestimmten Stelle ab...
Es gibt keine Exception, es ist kein Timeout, im Debug Modus hört der Code einfach an einer Stelle auf, und die App stuckt...
Hier mal der code: Das ganze befindet sich in einer FTPConnector Klasse (die ich gerade schreibe) und _xxx sind private variablen:
Die MSBoxen dienen zum "dirty debugging"
Die Ordner Struktur des Servers sieht zunächst so aus:
DIR Allgemein
--> FILE test.txt
DIR bnb
--> DIR Ajax
---->FILE ajax.html
und genau bis hierhin läuft das script und bricht dann - ohne kommentar - an der Stelle "downloadResponse = downloadRequest.GetResponse" ab....
starte ich mit der "Active dir" bei bnb, so liest er aber munter weiter und die unterordner aus....
VB.NET-Quellcode
- Public Function GetDataList()
- Return GetDataListIntern(_Server, _ActiveDir)
- End Function
- Private Function GetDataListIntern(ByVal server As String, ByVal curPath As String)
- Dim downloadResponseStream As Stream
- Dim fileStream As FileStream
- Dim downloadResponse As FtpWebResponse
- 'connect to server, and get file List
- Dim downloadRequest As FtpWebRequest = WebRequest.Create(server & "/" & curPath)
- downloadRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails
- downloadRequest.Credentials = New NetworkCredential(_Username, _Password)
- downloadRequest.Proxy = Nothing
- downloadResponse = downloadRequest.GetResponse
- downloadResponseStream = downloadResponse.GetResponseStream
- 'StreamReader
- Dim downloadReader As StreamReader
- downloadReader = New StreamReader(downloadResponseStream, System.Text.Encoding.UTF8)
- 'foreach lines...
- While downloadReader.EndOfStream = False
- Dim aLine As String = downloadReader.ReadLine()
- If aLine.StartsWith("d") Then
- 'this is a folder
- 'get the folder name first
- Dim expArray() As String = aLine.Split(" ")
- 'so call recursive function to download all content
- MsgBox(aLine & " represends a folder: " & expArray(expArray.Length - 1) & " path is: " & curPath & expArray(expArray.Length - 1) & "/")
- GetDataListIntern(server, curPath & expArray(expArray.Length - 1) & "/")
- Else
- 'this is a file
- 'get the file name first
- Dim expArray() As String = aLine.Split(" ")
- 'so call recursive function to download all content
- MsgBox(aLine & " represends a file: " & expArray(expArray.Length - 1))
- End If
- End While
- End Function