ioexception semaphore timeout

FragenOhneEnde

Grünschnabel
Hallo Zusammen,
ich habe in meiner Anwendung die Funktion, dass Dateien von einem Netzlaufwerk auf ein anderes mittels FileSystem.CopyFile einfach kopieren will. Das funktioniert im Normalfall eigentlich ohne Probleme.
Zeitweise bekomme ich jedoch eine IOException "the semaphore timeout hat expired".
Das Ergebnis ist recht überraschend - die Datei ist am Zielsystem vorhanden, hat die richtige Größe, nur ist der Inhalt nicht korrekt.
Ein weiterer Versuch der Übertragung ist meistens auch ohne Versuch - nach einer gewissen Zeit (1min bis 1d) funktioniert das ganze plötzlich wieder. Die Netzlaufwerke sind während der gesamten Zeit erreichbar.

Hat irgendjemand eine Idee hierzu
Danke, Christian
 
Kann schon sein - was ich jedoch nicht verstehe ist, dass dieser Fehler zeitweise auch stundenlang ansteht (d.h. ich versuche ja zyklisch alle 2 Sekunden die Datei fehlerfrei zu schreiben). Hierbei kann dann ein kurzfristiger Aussetzer eigentlich nicht das Problem sein.

Im Internet wird über diesen Fehler in diesen Zusammenhang auch keine Lösung geboten - einen einzigen Hinweis gibt es auf einen Dateilängenfehler, der jedoch in diesem Fall auch nicht das Problem sein kann.

LG, Christian
 
Ja, den Fehler in Bezug auf die Pfadlänge habe ich auch gesehen.

Was ich mir noch vorstellen könnte ist, dass eventuell deine Implementierung ein Problem hat, sollte mal eben (wenn auch nur sehr kurz) die Verbindung weg sein. Liegt dies im Bereich des Möglichen oder schon alles überprüft?
 
Try
My.Computer.FileSystem.MoveFile(BVXFirstTarget, BVXTargetMove, True)
Catch ex As Exception
_Log.WriteEntry(ex.ToString, EventLogEntryType.Error)
Fault = True
End Try
Die Ausführung ist ja offensichtlich sehr einfach - ich wüßte ehrlich nicht, was ich daran falsch gemacht haben könnte. Die Dateinamen habe ich geprüft, liegen beide unter 64 Zeichen (im Fehlerfall). Ich hatte auch schon ein Retry eingebaut (einfach eine Wiederholung im Fehlerfall - hat aber leider dazu geführt, dass die Datei zeitweise gar nicht geschrieben werden konnte). Daher wird aktuell die defekte Datei akzeptiert, da das Zielsystem die Gültigkeit der Datei mittels des Inhaltes prüft. Nur als endgültige Lösung ist mir das eigentlich zu wenig.
Einfach ausgedrückt - ich hab absolut keinen Schimmer, was hier falsch laufen kann.
LG, Christian
 
Zuletzt bearbeitet:
Könnte es eventuell sein, dass die Zieldatei in Falle des aufkommenden Fehlers gerade in Verwendung, also gesperrt, ist?
 
Nun, in die Richtung habe ich auch schon überlegt.
Nur müßte dann das System, auf welches ich die Datei verschiebe (und diese Datei gibt es dort mit Sicherheit noch nicht) auf diese Datei schon zugriff haben, während ich Sie noch dorthin verschiebe. Und das ist sehr unwahrscheindlich, da ich die Datei erst nach dem Move auf den richtigen Namen (mit welchem der Rechner danach arbeitet) umbenenne.
 

Neue Beiträge

Zurück