Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Adding a timer to my C# Console app

Posted on 2006-11-29
3
Medium Priority
?
1,100 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 280 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 720 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

[Webinar] Cloud Security

In this webinar you will learn:

-Why existing firewall and DMZ architectures are not suited for securing cloud applications
-How to make your enterprise “Cloud Ready”, and fix your aging DMZ architecture
-How to transform your enterprise and become a Cloud Enabler

Question has a verified solution.

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

In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
If you are a mobile app developer and especially develop hybrid mobile apps then these 4 mistakes you must avoid for hybrid app development to be the more genuine app developer.
Progress
Loops Section Overview

971 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