没有读取的控制台应用程序?

时间:2013-09-16 16:14:00

标签: c# asynchronous console

我有一个控制台应用程序,它使用TcpListener侦听某个端口上的连接。我启动TcpListener但是当我打开我的程序时,控制台立即存在。当我还在进行异步工作时,如何避免它退出?

2 个答案:

答案 0 :(得分:2)

您可以使用ManualResetEvent来保持您的申请。只需创建一个,等待它,并在您希望应用程序关闭时在异步代码中发出信号:

static void Main(string[] args)
{
    ManualResetEvent signal = new ManualResetEvent(false);

    //start asynchronous work
    //call signal.Set(); to close the application

    signal.WaitOne();
}

答案 1 :(得分:0)

作为控制台应用中的最后一个语句,添加:

System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);