Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1101
  • Last Modified:

Adding a timer to my C# Console app

Hi all,

I urgently need to add a timer to my Console app. I want my routine(Get_XML_Data) to run every 5 mins

thanks
0
MSAIT
Asked:
MSAIT
2 Solutions
 
AlexNekCommented:
You an use hidden window or you can use additional timer thread where you can check time yourself
http://technology.chtsai.org/w98timer/
0
 
sasapopovicCommented:
Hello MSAIT,

Here is how you can do it:

using System;
using System.Globalization;
using System.Text;

using Tradal.Common.Util;

namespace ConsoleApplication1
{
      /// <summary>
      /// Summary description for Class1.
      /// </summary>
      class Class1
      {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main(string[] args)
            {
                  Console.WriteLine("Starting with processing...");
                  MyClass myClass = new MyClass();
                  myClass.StartProcessing();
                  
                  Console.WriteLine("Press <ENTER> to exit");
                  Console.ReadLine();

                  myClass.StopProcessing();
            }
      }

      class MyClass
      {
            System.Timers.Timer timer = null;

            public MyClass()
            {
                  timer = new System.Timers.Timer();
                  timer.Interval = 300000;//5 minutes in miliseconds
                  timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
            }

            public void StartProcessing()
            {
                  timer.Start();
            }

            public void StopProcessing()
            {
                  timer.Stop();
            }

            private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
            {
                  Get_XML_Data();
            }

            private void Get_XML_Data()
            {
                  //TODO: implement your logic here.
            }
      }
}


I hope this will help you.

Regards,
Sasa
0
 
MSAITAuthor Commented:
Thanks guys,

I found this on the net

 1:  //  Timer02.cs - Displaying Date and Time
 2:  //      Using the Timer class.
 3:  //      Press Ctrl+C to end program.
 4:  //------------------------------------------
 5:  using System;
 6:  using System.Timers;
 7:
 8:  class myApp
 9:  {
10:    public static void Main()
11:    {
12:      Timer myTimer = new Timer();
13:      myTimer.Elapsed += new ElapsedEventHandler( DisplayTimeEvent );
14:      myTimer.Interval = 1000;
15:      myTimer.Start();
16:
17:      while ( Console.Read() != 'q' )
18:      {
19:          ;    // do nothing...
20:      }
21:    }
22:
23:    public static void DisplayTimeEvent( object source, ElapsedEventArgs e )
24:    {
25:        Console.Write("\r{0}", DateTime.Now);
26:    }
27:  }
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now