Tengo un dll consumido por un servicio. Su trabajo básico es ejecutar cada X minutos y realizar algunas comprobaciones del sistema. En mi dll tengo una clase de nivel superior que declara System.threading.timer y Timercallback. El constructor de la clase inicializa timerCallback con mi función de hilo. En mi controlador "Onstart", inicializo el temporizador con el timercalback y configuré la próxima vez para disparar y el intervalo de tiempo. En mi caso es cada 10 minutos. Por lo general, en estos controles de 10 minutos no hay nada que hacer, pero el servicio se ve obligado a hacer algo al menos una vez al día a una hora determinada.C# .NET 2 Threading.Timer - time drifting
Mi problema: Estoy comprobando que durante las pruebas, el tiempo que se lleva a cabo la verificación diaria se está alejando lentamente del tiempo de inicio deseado de 8,30. p.ej. durante aproximadamente 20 días impares, mi tiempo ha pasado de 08.30 a 08.31.35. Se desplaza entre 4 y 6 segundos todos los días.
Mi pregunta: ¿Alguien sabe por qué el tiempo se está desviando así y cómo puedo hacer que se mantenga en el tiempo asignado?
gracias
No estoy seguro en base a la pregunta, pero parece estar leyendo que usted programa un temporizador para hacer algo en 10 minutos, cuya primera acción es programar otra tarea en 10 minutos. No programar una tarea cada 10 minutos. ¿Podría publicar el código del temporizador? – Sign
Solo configuro el temporizador una vez, cuando el servicio se inicia por primera vez y luego lo configuro para que se dispare cada 10 minutos. Es como si cada "tic" de 10 minutos a partir de ese momento se desvanecie gradualmente más adelante. ¡Es difícil agregar código porque no puedo poner retornos de carro en este cuadro de texto! – Keith
@Keith - No se supone que tenga una discusión completa por comentarios. Si tienes código para publicar, actualiza tu pregunta. –