A ver si sirve,
Yo tengo un servicio de interfaces que en un thread baja y sube archivos desde y hasta un FTP y en otro thread controla las bandejas locales, dónde son dejados esos archivos, para saber si los tiene que procesar. Ya que es mi servicio el que escribe en mi bandeja de entrada o lee mi bandeja de salida y lo sube al FTP el control lo tiene completamente él. Siempre que estoy bajando un archivo lo hago con un nombre temporal y una vez que lo he terminado de transferir (controlo un par de atributos para ver si es correcto) y luego lo renombro. El thread que hace pooling sobre la bandeja de entrada para ver si debe procesar un archivo solamente chequea aquellos que tengan determinada estructura de nombres. Todo esto, luego de haber luchado bastante tiempo con el FSW y no lograr amigarnos J. Espero que sirva, cualquier duda me avisan. Gustavo De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Carlos Peix Enviado el: Domingo, 24 de Agosto de 2008 04:43 p.m. Para: [email protected] Asunto: [puntonet] RE: [puntonet] Re: RE: [puntonet] Creación de un servicio que "escucha" la llegada de archivos a una carpeta Hola Gustavo, Use una solucion parecida a la tuya, controle el LastWriteTime, de la clase FileInfo. Carlos Peix <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED] tel: 4257-4622 cel: 15-4406-7571 _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Gustavo Ringel Enviado el: Domingo, 24 de Agosto de 2008 03:45 p.m. Para: [email protected] Asunto: [puntonet] Re: RE: [puntonet] Creación de un servicio que "escucha" la llegada de archivos a una carpeta Carlos, cuando monitoreas "a mano" como resolves la diferencia entre un archivo que todavia esta subiendo o que ya subio? Yo he tenido problemas con eso y para evitarlos use mecanismos como: "si en 4 pollings sucesivos no cambio de tamanio, entonces debe estar completo..." Obviamente tampoco FSW resuelve bien esto de hecho empeora las cosas...pero al pasar a algo manual, de todos modos hay que tener en cuenta esas cosas y seria interesante saber como hiciste en tu caso... Gracias. Gustavo. 2008/8/23 Carlos Peix <[EMAIL PROTECTED]> Hola Pedro, La recomendación de Daniel es correcta pero mi experiencia con el FileSystemWatcher no fue buena. Sospecho que debe ser una solucion apta para bajo trafico. Yo hice lo mismo que vos, en mi caso tenia que registrar en una base de datos las novedades sobre la carpeta. Encontre problemas cuando el cliente me descompactaba un ZIP con 4000 archivos, se me perdian eventos. En definitiva, sugiero que hagas pruebas y que evalues otras opciones para comparar, por ejemplo, monitorear la carpeta "a mano" y mover los archivos procesados. El sistema de eventos que usa FSW, en mi opinion, no es confiable. Saludos Carlos Peix [EMAIL PROTECTED] tel: 4257-4622 cel: 15-4406-7571 -----Mensaje original----- De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Pedro Latasa Enviado el: Sábado, 23 de Agosto de 2008 09:53 a.m. Para: [email protected] Asunto: [puntonet] Creación de un servicio que "escucha" la llegada de archivos a una carpeta Hola. Saludos a todos y gracias por su tiempo. Quiero hacer un servicio que esté "escuchando" una carpeta. Al localizar un archivo que ha llegado a esa carpeta el servicio debe firmar digitalmente ese archivo y dejarlo en otra carpeta. La acción de firmar digitalmente el archivo la tengo solucionada. Mi problema viene a la hora de crear el servicio y "escuchar" continuamente esa carpeta. Por lo poco que he visto de servicios puedo crear un tipo de proyecto y en el realiza una serie de acciones, pero, no tengo claro cómo el servicio va a estar siempre "escuchando" una carpeta y obrar en consecuencia. Gracias a todos por el interés. -- Un saludo. -------------------------------------------------- Pedro Latasa Formación y Desarrollo Email: [EMAIL PROTECTED] -------------------------------------------------- __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 3382 (20080823) __________ ESET NOD32 Antivirus ha comprobado este mensaje. http://www.eset.com
