Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo F. Andrade

Timers e Console -> C#

Recommended Posts

Pessoal, estou querendo faze com que um timer numa aplicação console dispare um método de uma classe instanciada de tempos em tempos, como faço isso?

 

por enquanto fiz isso?

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace CoServer_Vision
{
   class Program
   {
       private static CoServer_Vision.main.monitor SRVMonitor;
       private static Timer tmSQLState;


       static void Main(string[] args)     
       {
           //Inicia o Servidor
           main.cosrv_core srvin = new main.cosrv_core();

           srvin.ServerInitialize();

           //Cria uma Thread para monitorar o state do sql//
           SRVMonitor = new CoServer_Vision.main.monitor();

           tmSQLState = new Timer(MonSQLState, 5, 1000, 2000);
       }

       private static void MonSQLState(Object state)
       {
           Console.WriteLine("Checking SQL State...");
           SRVMonitor.MonitorSQLState();
       }
   }
}

 

mas n funciona, sem o debug a aplicação abre e fecha e com o debug ela n faz nada??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu Mudei o Codigo mas ele vaz a mesma coisa:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace CoServer_Vision
{
   class Program
   {
       private static CoServer_Vision.main.monitor SRVMonitor;
       private static Timer tmSQLState;
       private static Thread thSQLState;
       private static TimerCallback tcSQLState = GetMonSQLState;

       static void Main(string[] args)     
       {
           //Inicia o Servidor
           main.cosrv_core srvin = new main.cosrv_core();

           srvin.ServerInitialize();

           //Cria uma Thread para monitorar o state do sql//
           SRVMonitor = new CoServer_Vision.main.monitor();

           thSQLState = new Thread( new ThreadStart(MonSQLState));

           tmSQLState = new Timer(tcSQLState, 5, 0, 2000);

       }

       public static void GetMonSQLState(Object state)
       {
           thSQLState.Start();
       }

       public static void MonSQLState()
       {
           Console.WriteLine("Checking SQL State...");
           SRVMonitor.MonitorSQLState(); 
       }
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.