ArgumentException nach erneuter Initialisierung eines FTP Uploads via FTP.

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Drahuverar.

    ArgumentException nach erneuter Initialisierung eines FTP Uploads via FTP.

    Ich versuche einen automatisierten uploader für meinen server zu schreiben, es wird angezeigt das der datenstrom bei erneuter initierung des uploads nicht lesbar ist... Könnt ihr mir da weiterhelfen ?
    Der Fehler tritt in der 19ten zeile auf.

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.IO
    3. Public Class Form1
    4. Dim dir As String = "D:\XAMPPmm\htdocs\CURL"
    5. Dim ftpdir As String = "***"
    6. Dim SER_REQ_FTP As FtpWebRequest = DirectCast(WebRequest.Create(ftpdir), FtpWebRequest)
    7. Dim current As String
    8. Dim current_map() As String
    9. Dim flist As New HashSet(Of String)
    10. Dim dlist As New HashSet(Of String)
    11. Dim bPath As String = Application.StartupPath & "\FTPCONNECTOR.bat"
    12. Dim dPath As String = Application.StartupPath & "\FTPDATA.ftp"
    13. Dim stream As IO.StreamWriter = New IO.StreamWriter(dPath, False)
    14. Dim reader As StreamReader
    15. Dim rstream As Stream
    16. Dim response As FtpWebResponse
    17. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    18. reader = SER_REQ_FTP.GetResponse()
    19. rstream = response.GetResponseStream()
    20. response = New StreamReader(rstream) 'Hier tritt der fehler auf.
    21. While Not reader.EndOfStream
    22. current = reader.ReadLine()
    23. If Not current = ".htaccess" Then
    24. If Not current = ".." Then
    25. flist.Add(current)
    26. End If
    27. End If
    28. RichTextBox1.Text += "DETECTET FILE:" & current & vbNewLine
    29. End While
    30. RichTextBox1.Text += "DELITING FILES..." & vbNewLine
    31. RichTextBox1.Text += "writing ftp data..." & vbNewLine
    32. stream.WriteLine("***")
    33. stream.WriteLine("***")
    34. stream.WriteLine("***")
    35. stream.WriteLine("cd ***")
    36. For Each Item As String In flist
    37. stream.WriteLine("DELE " & Item)
    38. RichTextBox1.Text += "targeting: " & Item & vbNewLine
    39. Next
    40. stream.WriteLine("QUIT")
    41. stream.Close()
    42. RichTextBox1.Text += "writing exec data..." & vbNewLine
    43. stream = New IO.StreamWriter(bPath, False)
    44. stream.WriteLine("ftp -s:FTPDATA.ftp")
    45. stream.WriteLine("exit")
    46. stream.Close()
    47. RichTextBox1.Text += "deleting files..." & vbNewLine
    48. Shell(bPath, AppWinStyle.Hide)
    49. RichTextBox1.Text += "Files Deletet." & vbNewLine
    50. RichTextBox1.Text += "UPDATING." & vbNewLine
    51. current_map = IO.Directory.GetFiles(dir)
    52. For Each Item As String In current_map
    53. RichTextBox1.Text += "Detected File :" & Item & vbNewLine
    54. dlist.Add(Item)
    55. RichTextBox1.Text += "Detected File :" & Item & "added in list" & vbNewLine
    56. Next
    57. RichTextBox1.Text += "Init Upload:" & vbNewLine
    58. stream = New IO.StreamWriter(dPath, False)
    59. stream.WriteLine("open ***")
    60. stream.WriteLine("***")
    61. stream.WriteLine("****")
    62. stream.WriteLine("cd ***")
    63. For Each Item As String In dlist
    64. stream.WriteLine("put " & Item)
    65. RichTextBox1.Text += "targeting: " & Item & vbNewLine
    66. Next
    67. stream.WriteLine("QUIT")
    68. stream.Close()
    69. RichTextBox1.Text += "Upload..." & vbNewLine
    70. Shell(bPath, AppWinStyle.Hide)
    71. RichTextBox1.Text += "Done..." & vbNewLine
    72. RichTextBox1.Text += "Reset Connections..." & vbNewLine
    73. response.Close()
    74. rstream.Close()
    75. reader.Close()
    76. RichTextBox1.Text += "Done Ready to move on..." & vbNewLine
    77. End Sub
    78. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    79. SER_REQ_FTP.Credentials = New NetworkCredential("***", "***")
    80. SER_REQ_FTP.Method = WebRequestMethods.Ftp.ListDirectory
    81. End Sub
    82. End Class


    Ich hoffe wir finden schnell eine lösung

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „AzeS“ ()

    @AzeS Willkommen im Forum. :thumbup:
    Gib zunächst diesem Deinen Thread einen inhaltsbezogenen Namen.
    In welcher Zeile kommt die Exception?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke, ich hoffe das wir viel wissen gegenseitig austauschen können.
    auch danke für deine Rückmeldung @RodFromGermany Die ArgumentExceprion tritt in der 19ten Zeile des Codes auf, ich vermute das ich irgendwas mit der Verbindung falsch mache bzw das diese doppelt injiziert wird.

    VB.NET-Quellcode

    1. Dim response As FtpWebResponse = SER_REQ_FTP.GetResponse()
    2. Dim rstream As Stream = response.GetResponseStream()
    3. Dim reader As StreamReader = New StreamReader(rstream)

    AzeS schrieb:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dies ist die 19.te Zeile des Codes. (Im Deutschen nur 19. ;) )
    Welche Zeile bitte genau?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    AzeS schrieb:

    Danke, ich hoffe das wir viel wissen gegenseitig austauschen können.
    auch danke für deine Rückmeldung @RodFromGermany Die ArgumentExceprion tritt in der 19ten Zeile des Codes auf, ich vermute das ich irgendwas mit der Verbindung falsch mache bzw das diese doppelt injiziert wird.

    VB.NET-Quellcode

    1. Dim response As FtpWebResponse = SER_REQ_FTP.GetResponse()
    2. Dim rstream As Stream = response.GetResponseStream()
    3. Dim reader As StreamReader = New StreamReader(rstream)


    Verzeih, so viel Code überall ':D die Zeile 22 wäre es, den fehlerhaften Code habe ich wie oben zitiert schon ausgeschrieben.

    Ich hoffe du hast eine lösung @RodFromGerman.

    exc-jdbi schrieb:

    stream gar nicht instanziert
    passt nicht zur genannten ArgumentException.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    AzeS schrieb:

    VB.NET-Quellcode

    1. Dim SER_REQ_FTP As FtpWebRequest = DirectCast(WebRequest.Create(ftpdir), FtpWebRequest)
    Die Instanz von SER_REQ_FTP solltest Du nach Beendigung Close()n und bei erneutem Zugriff wieder neu instanziieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!