I have a console application in C#. If something goes wrong, I call Environment.Exit()
to close my application. I need to disconnect from the server and close some files before the application ends.
In Java, I can implement a shutdown hook and register it via Runtime.getRuntime().addShutdownHook()
. How can I achieve the same in C#?
You can attach an event handler to the current application domain's ProcessExit event:
I'd recommend wrapping the call to Environment.Exit() in your own method and using that throughout. Something like this:
Hook AppDomain events: