Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Shutdown event for console application C#

How can i know when my C# console application will be stopping? Is there any event or like that?

Thanks!

like image 359
Robert Avatar asked Jul 02 '12 09:07

Robert


2 Answers

Use ProcessExit event of the application domain

   class Program
    {
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);           


        }

        static void CurrentDomain_ProcessExit(object sender, EventArgs e)
        {
            Console.WriteLine("exit");
        }
    }
like image 176
Habib Avatar answered Sep 23 '22 01:09

Habib


Handling the event System.Console.CancelKeyPress might help you.

MSDN explains it how to handle this event along with other things that you need to take care of while handling this event, excerpt:

This event is used in conjunction with System.ConsoleCancelEventHandler and System.ConsoleCancelEventArgs. The CancelKeyPress event enables a console application to intercept the CTRL+C signal so the application can decide whether to continue executing or terminate.

Use this event to explicitly control how your application responds to the CTRL+C signal. If your application has simple requirements, you can use the TreatControlCAsInput property instead of this event.

The event handler for this event is executed on a thread pool thread.

like image 39
VSS Avatar answered Sep 27 '22 01:09

VSS