Dateien überschreiben, wenn kein Zugriff?

01/07/2009 - 13:42 von Brian Schmalisch | Report spam
Hallo,

ich habe eine Anwendung, welche dynamisch Inhalte darstellt. Die Inhalte
(Bilder, Textdateien, Videos) werden zum Zielrechner per FTP übertragen. Nun
ist es in der Vergangenheit öfters zum Problem bei der FTP-Übertragung
gekommen, wenn gerade eine Datei eine andere Datei überschreiben soll, auf
welche gerade zugegriffen wird.

Damit ich das Problem in Griff bekomme, möchte ich jetzt ein Tool schreiben,
welches per FileSystemWatcher das FTP-Server Verzeichnis überwacht und dann
beim Ändern von Dateien diese mit dem Content-Ordner synchronisiert.

Wie kann ich feststellen, ob auf eine Datei gerade zugegriffen wird, damit
es keine Konflikte mehr beim überschreiben gibt?

Brian
 

Lesen sie die antworten

#1 Kerem Gümrükcü
01/07/2009 - 17:16 | Warnen spam
Hallo Brian,

Wie kann ich feststellen, ob auf eine Datei gerade zugegriffen wird, damit
es keine Konflikte mehr beim überschreiben gibt?



nun, auf diese Frage wirst Du sicherlich noch einige Antworten
bekommen, aber von meiner Seite, sei dazu soviel gesagt: Die
wirklich 99,9% sichere Lösung ist es zu prüfen, ob irgend ein
Program ein Handle auf diese Datei geöffnet hat. Das geht
allerdings nur mit recht umstàndlichem Low-Level PInvoke,
aber wenn Du Dir dafür erst mal eine Klasse geschrieben
hast, dann kannst Du die in allen möglichen Programmen
benutzen, die so was mal brauchen. Aus Erfahrung kann
ich dir sagen, dass der einmalige Aufwand in jedem Fall lohnt,
da man so was immer mal wieder braucht!

[Listing Used Files]
http://www.codeproject.com/KB/shell...inder.aspx

Ist zwar C++, aber ist kein Problem das nach C# zu übersetzten.
Im Netz gibts auch jede Menge Beispiele, auch in C# glaube ich,...

Grüße

Kerem


Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Latest Project: http://www.pro-it-education.de/soft...iceremover
Latest Open-Source Projects: http://entwicklung.junetz.de
"This reply is provided as is, without warranty express or implied."

"Brian Schmalisch" schrieb im Newsbeitrag
news:h2fi3j$pes$02$
Hallo,

ich habe eine Anwendung, welche dynamisch Inhalte darstellt. Die Inhalte
(Bilder, Textdateien, Videos) werden zum Zielrechner per FTP übertragen.
Nun ist es in der Vergangenheit öfters zum Problem bei der FTP-Übertragung
gekommen, wenn gerade eine Datei eine andere Datei überschreiben soll, auf
welche gerade zugegriffen wird.

Damit ich das Problem in Griff bekomme, möchte ich jetzt ein Tool
schreiben, welches per FileSystemWatcher das FTP-Server Verzeichnis
überwacht und dann beim Ändern von Dateien diese mit dem Content-Ordner
synchronisiert.

Wie kann ich feststellen, ob auf eine Datei gerade zugegriffen wird, damit
es keine Konflikte mehr beim überschreiben gibt?

Brian

Ähnliche fragen