Async MulticastDelegate и закрытие приложения
От: keenn  
Дата: 15.09.10 06:06
Оценка:
Всем привет,

Возник такой вопрос. Есть приложение (Windows Forms), у которого при его работе выполняется некий долгий асинхронный вызов, реализованный через BeginInvoke (MulticastDelegate).

Тем временем пользователь не лишен возможности что-то делать в "главном" окне.

Проблема заключается в том, что когда пользователь кликает по "крестику", окно долго висит, обрабатывая в фоне асинхронные операции. Причем FormClosing отрабатывает только тогда, когда отработает асинхронная операция (и я не могу на нее никак повлиять своими средствами, обрубить выполнение этого сетевого запроса, например).

Не могу также отловить нужное мне сообщение, WM_QUIT тоже отрабатывает слишком поздно (по моим опытам, или я не прав?).

Какой корректный выход из этой ситуации?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.