Servicio que deja de funcionar.

25/10/2007 - 21:26 por Lazarte Federico | Informe spam
Estimados
Tengo un servicio de windows que esta monitoreando constantemente una
carpeta compartida en búsqueda de nuevos archivos con una
extensión .dat. Al crearse un nuevo archivo.dat desde otro proceso, el
servicio lo toma, procesa y elimina.
El problema que tengo es que pasa un tiempo y el servicio, a pesar de
estar en modo running en la ventana de servicios, no sigue tomando los
nuevos archivos .dat
Este problema se soluciona el reiniciar nuevamente el servicio.
Alguien tiene una idea de que puede estar pasando?.
El inicio del servicio es algo asi:

protected override void OnStart(string[] args)
{
System.Threading.Thread thread = new
System.Threading.Thread(threadStart);

System.Threading.ThreadStart startThread = new
System.Threading.ThreadStart(startMonitoring);
System.Threading.Thread threadDTX = new
System.Threading.Thread(startThread);


//Begin monitoring.
_running = true;

threadDTX.Start();


}

y el metodo startMonitoring tiene lo siguiente:

private void startMonitoring()
{

while (_running)
{

for (int i = 0;
i < fileList.Length; i++)
{
//PROCESO LOS ARCHIVOS DEL DIRECTORIO
}
}
}

Preguntas similare

Leer las respuestas

#1 Bela Istok
26/10/2007 - 01:34 | Informe spam
Hola, a pesar de no tener el código aquí va una pregunta, tienes dentro del
for (while) el manejo de excepciones, porque puede ser que el otro proceso
no ha terminado de escribir un archivo y lo tiene bloqueado y tu estés
tratando de eliminarlo esto puede generar una excepción y parar la ejecución
del Hilo (que se encarga de borrar los archivos).

Esta condición no hace que el servicio deje de funcionar porque la excepción
fue en un hilo de ejecución separado, pero en realidad no esta haciendo nada
el servicio.

Saludos,

Bela Istok
"Lazarte Federico" wrote in message
news:
Estimados
Tengo un servicio de windows que esta monitoreando constantemente una
carpeta compartida en búsqueda de nuevos archivos con una
extensión .dat. Al crearse un nuevo archivo.dat desde otro proceso, el
servicio lo toma, procesa y elimina.
El problema que tengo es que pasa un tiempo y el servicio, a pesar de
estar en modo running en la ventana de servicios, no sigue tomando los
nuevos archivos .dat
Este problema se soluciona el reiniciar nuevamente el servicio.
Alguien tiene una idea de que puede estar pasando?.
El inicio del servicio es algo asi:

protected override void OnStart(string[] args)
{
System.Threading.Thread thread = new
System.Threading.Thread(threadStart);

System.Threading.ThreadStart startThread = new
System.Threading.ThreadStart(startMonitoring);
System.Threading.Thread threadDTX = new
System.Threading.Thread(startThread);


//Begin monitoring.
_running = true;

threadDTX.Start();


}

y el metodo startMonitoring tiene lo siguiente:

private void startMonitoring()
{

while (_running)
{

for (int i = 0;
i < fileList.Length; i++)
{
//PROCESO LOS ARCHIVOS DEL DIRECTORIO
}
}
}
Respuesta Responder a este mensaje
#2 Francisco Matamoros
26/10/2007 - 09:53 | Informe spam
No sería la primera vez que el firewall de windows me juega una mala pasada
en este tipo de cosas. Prueba a poner tu ejecutable como una excepción.

"Bela Istok" escribió en el mensaje
news:
Hola, a pesar de no tener el código aquí va una pregunta, tienes dentro
del for (while) el manejo de excepciones, porque puede ser que el otro
proceso no ha terminado de escribir un archivo y lo tiene bloqueado y tu
estés tratando de eliminarlo esto puede generar una excepción y parar la
ejecución del Hilo (que se encarga de borrar los archivos).

Esta condición no hace que el servicio deje de funcionar porque la
excepción fue en un hilo de ejecución separado, pero en realidad no esta
haciendo nada el servicio.

Saludos,

Bela Istok
"Lazarte Federico" wrote in message
news:
Estimados
Tengo un servicio de windows que esta monitoreando constantemente una
carpeta compartida en búsqueda de nuevos archivos con una
extensión .dat. Al crearse un nuevo archivo.dat desde otro proceso, el
servicio lo toma, procesa y elimina.
El problema que tengo es que pasa un tiempo y el servicio, a pesar de
estar en modo running en la ventana de servicios, no sigue tomando los
nuevos archivos .dat
Este problema se soluciona el reiniciar nuevamente el servicio.
Alguien tiene una idea de que puede estar pasando?.
El inicio del servicio es algo asi:

protected override void OnStart(string[] args)
{
System.Threading.Thread thread = new
System.Threading.Thread(threadStart);

System.Threading.ThreadStart startThread = new
System.Threading.ThreadStart(startMonitoring);
System.Threading.Thread threadDTX = new
System.Threading.Thread(startThread);


//Begin monitoring.
_running = true;

threadDTX.Start();


}

y el metodo startMonitoring tiene lo siguiente:

private void startMonitoring()
{

while (_running)
{

for (int i = 0;
i < fileList.Length; i++)
{
//PROCESO LOS ARCHIVOS DEL DIRECTORIO
}
}
}


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