Problemón con FilesystemWatcher y multithreading

26/04/2005 - 09:27 por Cecilio | Informe spam
Buenas, a ver si a alguien le ha ocurrido algo similar porque a mi este
problema me está dejando perplejo.

Tengo una aplicación, desarrollada en c# con el Framework 1.1, que consiste
en un formulario principal que tiene activado un FileSystemWatcher, este
cada vez que se activa lanza un proceso en un thread aparte que hace una
consulta a una base de datos y los exporta en formato XML.
Esta aplicación, esta ejecutandose siempre en un servidor al que no tiene
acceso ningún usuario (descartemos la acción de una mano "tonta").
Pues bien, cada cierto tiempo , digamos una vez cada diez días más o menos,
el programa se apaga.
Este mismo programa (excepto alguna personalización) , está funcionando
correctamente en otros clientes, sin embargo aquí es la tercera vez que
pasa.
En el Try -Cacht del evento del FileSystemWacher genero un log, pero este
no me indica niguna información.
A primera vista se me ocurren tres posibles causas:
* En los Threads donde se realiza la consulta a la BBDD da un error y se
cuelga. Sin embargo, según tengo entendido, un error no controlado en un
thread provoca que caiga dicho thread, no la aplicación entera (si alguien
me puede confirmar está afirmación se lo agradecería).
* Error del FileSystemWacher. En este cliente hay un mayor volumen de carga
que en los otros. ¿Es posible que esto provoque un error en el componente, o
que genere más threads de los permitidos, y que sea el causante del
problema?
*Bug en el Framework. Tengo instalado el última service pack de la versión
1.1

Muchas gracias y un Saludo.

Preguntas similare

Leer las respuestas

#6 Cecilio
27/04/2005 - 17:36 | Informe spam
Muchas gracias por tu ayuda, Juan Carlos. Por lo menos ahora ya se por donde
enfocar el problema.

Un Saludo

"Juan Carlos" escribió en el mensaje
news:
Pues yo tampoco he encontrado algun metodo que pregunte esto o que me de
informacion de esto. Lo que me ha tocado es jugar con las excepciones, es
decri cuando el sistema diga o lanze la excepcion The File is using by
another process o algo asi, manejala y dile que lo intente mas tarde...

"Cecilio" escribió en el mensaje
news:%
La verdad es que eso tiene bastante sentido, sin embargo lo que no veo


claro
es la posible solución a dar.


"Juan Carlos" escribió en el mensaje
news:
> Ya que se esta cerrando la aplicacion, puede que estes capturando una
> excepcion en alguna parte y no la estes atrapando.
> Cuando inicia la Apliacion create un bloque try catch y captura la
> exepcion
> lanzada desde cualquier parte del codigo y asi puedes registrar el
> error
> que
> esta sucediendo.
>
> Te sugiero lo siguiente, sin ver tu codigo, reviza la parte donde tomas


el
> archivo y trata de preguntar si el archivo esta siendo usado en ese
> momento,
> yo he tenido muchos problemas de ese tipo usado filesystemwatcher, ya


que
> hay archivos muy grandes y al momentos de pasarlos el agente comienza a
> trabajar sin que el archivo lo hayan soltado.
> Espero te sirva esto.
> "Cecilio" escribió en el mensaje
> news:%
>>
>> Buenas, a ver si a alguien le ha ocurrido algo similar porque a mi
>> este
>> problema me está dejando perplejo.
>>
>> Tengo una aplicación, desarrollada en c# con el Framework 1.1, que
> consiste
>> en un formulario principal que tiene activado un FileSystemWatcher,


este
>> cada vez que se activa lanza un proceso en un thread aparte que hace


una
>> consulta a una base de datos y los exporta en formato XML.
>> Esta aplicación, esta ejecutandose siempre en un servidor al que no


tiene
>> acceso ningún usuario (descartemos la acción de una mano "tonta").
>> Pues bien, cada cierto tiempo , digamos una vez cada diez días más o
> menos,
>> el programa se apaga.
>> Este mismo programa (excepto alguna personalización) , está
>> funcionando
>> correctamente en otros clientes, sin embargo aquí es la tercera vez
>> que
>> pasa.
>> En el Try -Cacht del evento del FileSystemWacher genero un log, pero
>> este
>> no me indica niguna información.
>> A primera vista se me ocurren tres posibles causas:
>> * En los Threads donde se realiza la consulta a la BBDD da un error y


se
>> cuelga. Sin embargo, según tengo entendido, un error no controlado en


un
>> thread provoca que caiga dicho thread, no la aplicación entera (si
>> alguien
>> me puede confirmar está afirmación se lo agradecería).
>> * Error del FileSystemWacher. En este cliente hay un mayor volumen de
> carga
>> que en los otros. ¿Es posible que esto provoque un error en el
>> componente,
> o
>> que genere más threads de los permitidos, y que sea el causante del
>> problema?
>> *Bug en el Framework. Tengo instalado el última service pack de la
>> versión
>> 1.1
>>
>> Muchas gracias y un Saludo.
>>
>>
>>
>>
>
>






Respuesta Responder a este mensaje
#7 Juan Carlos
27/04/2005 - 19:39 | Informe spam
Me cuentas como te va.
"Cecilio" escribió en el mensaje
news:
Muchas gracias por tu ayuda, Juan Carlos. Por lo menos ahora ya se por


donde
enfocar el problema.

Un Saludo

"Juan Carlos" escribió en el mensaje
news:
> Pues yo tampoco he encontrado algun metodo que pregunte esto o que me de
> informacion de esto. Lo que me ha tocado es jugar con las excepciones,


es
> decri cuando el sistema diga o lanze la excepcion The File is using by
> another process o algo asi, manejala y dile que lo intente mas tarde...
>
> "Cecilio" escribió en el mensaje
> news:%
>> La verdad es que eso tiene bastante sentido, sin embargo lo que no veo
> claro
>> es la posible solución a dar.
>>
>>
>> "Juan Carlos" escribió en el mensaje
>> news:
>> > Ya que se esta cerrando la aplicacion, puede que estes capturando


una
>> > excepcion en alguna parte y no la estes atrapando.
>> > Cuando inicia la Apliacion create un bloque try catch y captura la
>> > exepcion
>> > lanzada desde cualquier parte del codigo y asi puedes registrar el
>> > error
>> > que
>> > esta sucediendo.
>> >
>> > Te sugiero lo siguiente, sin ver tu codigo, reviza la parte donde


tomas
> el
>> > archivo y trata de preguntar si el archivo esta siendo usado en ese
>> > momento,
>> > yo he tenido muchos problemas de ese tipo usado filesystemwatcher, ya
> que
>> > hay archivos muy grandes y al momentos de pasarlos el agente comienza


a
>> > trabajar sin que el archivo lo hayan soltado.
>> > Espero te sirva esto.
>> > "Cecilio" escribió en el mensaje
>> > news:%
>> >>
>> >> Buenas, a ver si a alguien le ha ocurrido algo similar porque a mi
>> >> este
>> >> problema me está dejando perplejo.
>> >>
>> >> Tengo una aplicación, desarrollada en c# con el Framework 1.1, que
>> > consiste
>> >> en un formulario principal que tiene activado un FileSystemWatcher,
> este
>> >> cada vez que se activa lanza un proceso en un thread aparte que hace
> una
>> >> consulta a una base de datos y los exporta en formato XML.
>> >> Esta aplicación, esta ejecutandose siempre en un servidor al que no
> tiene
>> >> acceso ningún usuario (descartemos la acción de una mano "tonta").
>> >> Pues bien, cada cierto tiempo , digamos una vez cada diez días más o
>> > menos,
>> >> el programa se apaga.
>> >> Este mismo programa (excepto alguna personalización) , está
>> >> funcionando
>> >> correctamente en otros clientes, sin embargo aquí es la tercera vez
>> >> que
>> >> pasa.
>> >> En el Try -Cacht del evento del FileSystemWacher genero un log,


pero
>> >> este
>> >> no me indica niguna información.
>> >> A primera vista se me ocurren tres posibles causas:
>> >> * En los Threads donde se realiza la consulta a la BBDD da un error


y
> se
>> >> cuelga. Sin embargo, según tengo entendido, un error no controlado


en
> un
>> >> thread provoca que caiga dicho thread, no la aplicación entera (si
>> >> alguien
>> >> me puede confirmar está afirmación se lo agradecería).
>> >> * Error del FileSystemWacher. En este cliente hay un mayor volumen


de
>> > carga
>> >> que en los otros. ¿Es posible que esto provoque un error en el
>> >> componente,
>> > o
>> >> que genere más threads de los permitidos, y que sea el causante del
>> >> problema?
>> >> *Bug en el Framework. Tengo instalado el última service pack de la
>> >> versión
>> >> 1.1
>> >>
>> >> Muchas gracias y un Saludo.
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida