2015-07-29 2 views
0

Я использую ConsoleApplication для игрового сервера. Я знаю, что этот вопрос задавали раньше, но я ищу работу. Сервер инициализирует все данные, а затем запускает диспетчер-приемник, который ждет клиентов. После этого это делается в основном. Все работает в фоновом режиме, так что он просто существует. До сих пор я использовал:ConsoleApplication закрытия немедленно

while (true) 
    Console.Read(); 

Однако, иногда, когда исключение я хочу, чтобы выключить сервер и показать сообщение: Press any key to quit..., но это не представляется возможным из-за петли.

Есть ли обходной путь для этого?

+0

Любая нетривиальная программа .NET должна иметь обработчик событий для события AppDomain.CurrentDomain.UnhandledException. Вы можете отобразить сообщение «Нажмите любую клавишу» в этом обработчике событий. И вызовите Environment.Exit(), чтобы завершить работу программы. –

ответ

0

Вы можете использовать цикл событий, как в вопросе Making a console application like a Windows application.

После того, как у вас есть цикл событий, вы можете attach a global exception handler, который отключит ваше приложение, как предполагалось, в случае неперехваченного исключения на других потоках.

Смежные вопросы