vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
System.Net.Webexception Response? 
Autor: Jojo
Datum: 19.11.08 11:59

Moin Jungs,

ich habe mir eine Funktion für den FTP Upload geschrieben. Die funktioniert super. Allerdings tritt in unregelmäßigen Abständen der folgende Fehler auf:

"Die zugrunde liegende Verbindung wurde geschlossen: Unbekannter Fehler beim Empfangen.."
Der Fehler ist in der Zeile

Finally
If RemoteStreamWriter IsNot Nothing Then
   RemoteStreamWriter.Close()  '<---- Hier ist der Fehler ------
   RemoteStreamWriter.Dispose()
End If
Es tritt vorher kein Fehler auf. (FTP_UploadFile = "Upload erfolgreich beendet")

Imports System.Net
 
    Public Function FTP_UploadFile(ByVal LocalFile As String, ByVal Servername _
      As String, ByVal Benutzername As String, ByVal Passwort As String, ByVal _
      RemoteFilePath As String, ByVal FTP_mode As Boolean, Optional ByVal _
      Buffer As Integer = 1024) As String
 
        Label1.Text = "Upload auf: " & Servername
        Label2.Text = System.IO.Path.GetFileName(LocalFile) : _
          My.Application.DoEvents()
        Servername = String.Format("{0}/{1}", Servername, _
        System.IO.Path.GetFileName(LocalFile))
        If Servername.IndexOf("ftp://", vbTextCompare) Then Servername = _
        "ftp://" & Servername
 
        Dim requestStream As Stream = Nothing
        Dim fileStream As FileStream = Nothing
        Dim uploadResponse As FtpWebResponse = Nothing
        Dim RemoteStreamWriter As Stream
        Dim LocalStreamReader As BinaryReader
        Try
            Dim uploadRequest As FtpWebRequest = WebRequest.Create(Servername)
            uploadRequest.Method = WebRequestMethods.Ftp.UploadFile
            uploadRequest.Credentials = New NetworkCredential(Benutzername, _
              Passwort)
            uploadRequest.Proxy = Nothing
            uploadRequest.UsePassive = False
 
            Dim iLocalSize As Long = New FileInfo(LocalFile).Length
            ProgressBarAV.Maximum = Int(iLocalSize / 1024) + 2
            ProgressBarAV.Value = 0
            Dim fs As New FileStream(LocalFile, FileMode.Open, FileAccess.Read, _
              FileShare.Read, Buffer)
 
            LocalStreamReader = New BinaryReader(fs)
 
            RemoteStreamWriter = uploadRequest.GetRequestStream
 
            Dim buff As Byte() = New Byte(Buffer - 1) {}
            Dim iBytesRead As Integer = 1
 
            While iBytesRead > 0
 
                iBytesRead = LocalStreamReader.Read(buff, 0, buff.Length)
 
                RemoteStreamWriter.Write(buff, 0, iBytesRead)
                ProgressBarAV.Value = ProgressBarAV.Value + 1
                My.Application.DoEvents()
 
            End While
            fs.Close()
            fs.Dispose()
 
            FTP_UploadFile = "Upload erfolgreich beendet"
 
        Catch ex As UriFormatException
            FTP_UploadFile = ex.Message
        Catch ex As IOException
            FTP_UploadFile = ex.Message
        Catch ex As WebException
            FTP_UploadFile = ex.Message
        Finally
 
            If RemoteStreamWriter IsNot Nothing Then
                RemoteStreamWriter.Close()   '<---- Hier ist der Fehler -----
                RemoteStreamWriter.Dispose()
            End If
 
            If LocalStreamReader IsNot Nothing Then
                LocalStreamReader.Close()
            End If
 
        End Try
 
    End Function
In Debug modus brauche ich dann nur 1-2 Sekunden zu warten und dann geht es weiter. Ich habe den Eindruck, dass der Stream noch aktiv ist und deshalb sich nicht schliessen läßt.

Ich muss also irgend wie einen Busy Status oder so etwas abfragen und erst schliessen wenn der Stream beendet ist.

Die Hilfe verweißt auf Response Eigenschft von System.Net.Webexception. Das kann ich aber nicht finden ....

Wer hat eine idee?

Joachim

Joachim

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
System.Net.Webexception Response?2.016Jojo19.11.08 11:59

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel