Problemas con el FileSystemWatcher

21/09/2004 - 10:21 por Sebastian Saenz | Informe spam
Hola A todos, tengo un problema con una aplicación
Windows en .NET que supervisa un directorio con el
FileSystemWatcher. En ese directorio se suben ficheros
por FTP y deberia detectar cuando se termina de subir un
fichero para que me de el nombre del fichero. No tengo
manera de hacerlo porque el evento Changed me genera un
evento al principio y el Created, no me genera ningun
evento. Por favor a ver si alguien me puede ayudar con
esto. gracias

Preguntas similare

Leer las respuestas

#1 Alejandro Perez
21/09/2004 - 16:33 | Informe spam
Hola Sebastian. Como estas?

Fijate... se me ocurre que puedes intentarlo con el metodo
WaitForChanged del filesystemwatcher...

Estuve haciendo algunas pruebas y luego que se termina de
copiar el archivo a tu carpeta de ftp, ocurre el evento
changed... de esta manera puedes obtener alli el nombre y
hacer lo que deseas... haz algunas pruebas y nos avisas..
aqui te dejo el codigo q utilic para las pruebas...

result = watcher.WaitForChanged
(System.IO.WatcherChangeTypes.All);
if(result.ChangeType==System.IO.WatcherChangeTypes.Changed)
{
//Aca se lee el nombre del archivo y dices que
archivo se subio...
listBox1.Items.Add(
result.ChangeType.ToString() + " - " +
result.Name);
listBox1.Refresh();
}

Pude haber filtrado el WaitForChanged a solo los "Changed"
pero no obtuve el mismo efecto... Prueba de todos modos..

Bye bye

Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela


Mostrar la cita
#2 Alejandro Perez
21/09/2004 - 21:31 | Informe spam
No, te explico. El metodo WaitForChanged lo vas a llamar
de donde tu quieras desde un boton que empezará a
hacer el monitoreo de archivos...o como quieras.. ahora
bien, hay algo importante q debes tomar n cuenta y es lo
siguiente.

El metodo WaitForChanged es un metodo sincrono. Esto
quiere decir que la aplicacion se te va a quedar congelada
hasta que ocurra el cambio en la carpeta. Para esto debes
entonces crear un hilo que trabaje fuera del GUI.

Si no haz trabajado con hilos aqui te dejo un link sobre
el trabajo de Multithreading con C#.

http://support.microsoft.com/defaul...cid=kb;en-
us;815804

Cuidate!
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela



Mostrar la cita
#3 Anonimo
22/09/2004 - 09:10 | Informe spam
Podría usted realizar una aportación de código ??..


Mostrar la cita
#4 Anonimo
22/09/2004 - 10:56 | Informe spam
Entiendo eso Alejandro, o sea que todo el codigo que me
pasastes tiene que ir creado en un subProceso?... y otra
cosa, como hago para que me siga moritoriando despues que
ocurre un evento? Porque ocurre un evento, pero luego
termina de monitorear, a que se debe?..
gracias de nuevo


Mostrar la cita
congelada
Mostrar la cita
debes
Mostrar la cita
evento
Mostrar la cita
nombre
Mostrar la cita
(result.ChangeType==System.IO.WatcherChangeTypes.Changed)
Mostrar la cita
ficheros
Mostrar la cita
tengo
Mostrar la cita
un
Mostrar la cita
con
Mostrar la cita
#5 Sebastian Saenz
22/09/2004 - 10:57 | Informe spam
Entiendo eso Alejandro, o sea que todo el codigo que me
pasastes tiene que ir creado en un subProceso?... y otra
cosa, como hago para que me siga moritoriando despues que
ocurre un evento? Porque ocurre un evento, pero luego
termina de monitorear, a que se debe?..
gracias de nuevo


Mostrar la cita
congelada
Mostrar la cita
debes
Mostrar la cita
evento
Mostrar la cita
nombre
Mostrar la cita
(result.ChangeType==System.IO.WatcherChangeTypes.Changed)
Mostrar la cita
ficheros
Mostrar la cita
tengo
Mostrar la cita
un
Mostrar la cita
con
Mostrar la cita
Ads by Google
Search Busqueda sugerida