Solved

Adding a timer to my C# Console app

Posted on 2006-11-29
3
1,091 Views
Last Modified: 2012-06-21
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
Comment
Question by:MSAIT
3 Comments
 
LVL 16

Assisted Solution

by:AlexNek
AlexNek earned 70 total points
ID: 18036180
You an use hidden window or you can use additional timer thread where you can check time yourself
http://technology.chtsai.org/w98timer/
0
 
LVL 9

Accepted Solution

by:
sasapopovic earned 180 total points
ID: 18036225
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
 
LVL 2

Author Comment

by:MSAIT
ID: 18036339
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.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
A short article about problems I had with the new location API and permissions in Marshmallow

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question