C# какая замена Application.Run()?

Рейтинг: 0Ответов: 2Опубликовано: 14.06.2011

Вообщем есть интересный метод System.Windows.Forms.Application.Run() (без аргументов!). при его вызове основной поток приложения "зависает" в ожидании и "отходит" только при Application.Exit().

Я кидаю аппу на сервер Asp.net где невозможно использовать Application.Run(). А приложение ключевым образом на нем построено.

Так вот в чем вопрос: без System.Windows.Forms как можно добится такого же эффекта что Application.Run()?

Ответы

▲ 3Принят

Thread.Sleep(Timeout.Infinite);

или, если надо ждать завершения из другого потока - через EventWaitHandle

▲ 2

Все зависит от задачи, которую Вы хотите решить. Application.Run() запускает внутри себя цикл обработки сообщений Windows, который крутится до получения команды завершения приложения. Прокачку сообщений из очереди можно делать с помощью метода Application.DoEvents(). Можно вызывать этот метод в цикле. Опять же, не зная, какого именно эффекта Вы желаете добиться, трудно что-то посоветовать.