如何在方法调用之前暂停进程?

时间:2016-09-27 18:53:57

标签: c# events console

我有一个控制台应用程序,其运行类似于Windows应用程序(背景),但是当我启动应用程序时,它在1秒内关闭。我有系统事件SessionEnding,如何在应用此事件时暂停应用程序?

static void Main(string[] args)
    {
        SystemEvents.SessionEnding += new SessionEndingEventHandler(Session_Ending);}

static void Session_Ending(object sender,SessionEndingEventArgs e)
    {
         switch (e.Reason)
        {
            case SessionEndReasons.Logoff: { Add_Log(DataCombine(0, "LogOut")); q = SendData(DataCombine(1, "LogOut")); Check(q); break; }
            case SessionEndReasons.SystemShutdown: { Add_Log(DataCombine(0, "ShutDown")); q = SendData(DataCombine(1, "ShutDown")); Check(q); break; }
        }
    }

2 个答案:

答案 0 :(得分:1)

Thread.Sleep(Timeout.Infinite);

或者,如果您需要消息循环:

Application.Run();

答案 1 :(得分:1)

此外,您可以使用“ Start Without Debugging ”选项执行程序,或者在方法结束时实现Console.ReadLine()语句,然后程序将等待用户的输入然后终止。