SystemWatcher!!!

08/01/2007 - 16:17 por Eduardo | Informe spam
Hola a todos
Necesito monitorear un directorio web y si se producen cambios realizar
tareas, como puedo hacerlo ya sea desde una pagina en el mismo directorio o
no se como por favor si alguien me puede dar una mano estoy muy perdido.
Gracias.
Eduardo

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
08/01/2007 - 16:41 | Informe spam
"Eduardo" wrote in message
news:
Mostrar la cita
Para eso existe el objeto FileSystemWatcher (en System.IO). Creas una
instancia, le configuras los parámetros (el directorio, los tipos de
archivos, los tipos de cambios, etc.), y le pones .EnableRaisingEvents=true.
A partir de ese momento se pone a dispararte eventos cada vez que se produce
un cambio en el directorio que estás vigilando. Si buscas FileSystemWatcher
en el manual en línea encontrarás un ejemplo completo.
#2 Eduardo
08/01/2007 - 16:53 | Informe spam
Hola Alberto
Esto lo necesito en un directorio en la web, no en una pc y sinceramente
estoy perdido de como implementarlo, me puedes orientar un poco
Muchas Gracias.
Pd: ya tengo creado el directorio en la web lo que necesito es que cuando
llegue un archivo que lo mando desde mi aplicacion a dicho directorio este
se copie a otro.

Gracias
Eduardo


"Alberto Poblacion"
escribió en el mensaje news:ev%
Mostrar la cita
#3 Alberto Poblacion
08/01/2007 - 18:06 | Informe spam
"Eduardo" wrote in message
news:%
Mostrar la cita
¿Qué más da? Es una clase que está en las librerías de .Net. Se puede
usar en cualquier programa hecho en .Net, da igual que sea de Web, o de
WinForms, o de Consola, o un Servicio Windows. El FileSystemWatcher no tiene
nada por ningún sitio que cambie según el tipo de aplicación.


Mostrar la cita
En cualquier sitio que te venga bien en tu aplicación, por ejemplo, en
el Application_Start del global.asax, creas e inicializas el
FileSystemWatcher y le conectas un evento que haga la copia del archivo. Es
exactamente el mismo código fuente que usarías si fuera un programa Windows
en un PC, no cambia nada por ser un directorio en la web.
Ojo, que el nombre del directorio que le tienes que dar al
FileSystemWatcher es el directorio físico, no el virtual (es decir,
"c:\inetpub\wwwroot\MiAplicacion\MiDirectorio" y no
"MiAplicacion/Midirectorio"). Si es necesario, puedes usar la instruccion
Server.MapPath para convertir del segundo al primero.

Claro, que ahora que me doy cuenta, a lo mejor no es esto lo que quieres.
Estoy asumiendo que tu programa es la propia aplicación web que controla el
directorio web (u otra en el mismo servidor). Si, por el contrario, el
directorio web es remoto a tu programa y solo tienes acceso por http, pero
no tienes acceso al sistema de archivos, entonces de lo dicho no vale nada,
ya que el protocolo http no tiene ningún mecanismo para informarte de los
cambios, y solo se pueden averiguar mediante polling (consultas periódicas).
Ads by Google
Search Busqueda sugerida