![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
Доброго времени суток. Видел ли кто-нибудь что-то подобное? Есть основная форма. Есть данные, которые нужно выгрузить в веб-сервис. При выгрузке данных открывается форма (показываю ее методом ShowDialog), в которой отображается прогрес-бар и прогнозируемый остаток времени до завершения выгрузки. Выгрузка запускается в асинхронном потоке. Все бы хорошо, да только когда я в таск-менеджере делаю для приложения свернуть - асинхронный поток гасится! Ума не приложу в какую сторону думать! Вот примерный код, если он будет полезен:
Это сообщение отредактировал(а) sindi8 - 24.1.2006, 17:47 |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 3 Всего: 61 |
Ну давай разбираться. Будем пользоваться методом уменьшения энтропии системы
![]() Ты пробовал сделать тестовый пример - выбросить из проги реальную логику и оставить только фичи дотнета (делегаты, потоки, etc) ? |
|||
|
||||
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
Хм, а это мысль!
![]() Попробую. |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 3 Всего: 61 |
Я думаю, что поток падает из-за какого-то исключения. В таком случае сообщение об ошибке может не проявляться. Как вариант - поставь try catch внутри StartExport() и в catch пиши экспешп в Trace. Помогает иногда. |
|||
|
||||
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
По всей вероятности это очередная дыра в .NET (а именно 1.1 с накатанным сверху сервис-паком). Подобный эффект наблюдается при работе с диалоговыми окнами независимо от выполняемых действий. Во всяком случае провел подобный эксперимент со своими проектами (разными) - везде такая хрень происходит. Пора все-таки переползать видимо на второй дотнет.
|
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 3 Всего: 61 |
sindi8
Ты не мог бы выложить код для тестирования? Интересно самому посмотреть. |
|||
|
||||
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
Да на самом деле все элементарно. Создаю новый поект (соответственно главную форма Form1), кидаю на форму кнопку и Label (для вывода DialogResult), создаю дочернюю форму Form2. Далее для кнопки на OnClick пишу:
Появляется дочерняя форма (главная форма становится недоступной и ждет результат диалога). После этого открываю диспетчер файлов, кликаю правой кнопкой по названию исполняемого файла, посылаю ему команду свернуть - все, после восстановления диалоговое окно исчезло, в Label значение DialogResult=Cancel. Т.е. получается что при сворачивании для дочернего окна посылается команда Close. ЗЫ: хотел выложить архив проекта - не нашел как это сделать. |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 3 Всего: 61 |
Нифига, у меня такого не наблюдается... Тока не понял, что значит
Ты имеешь ввиду task manager? Тестил на WinXP SP2, VS.NET 2003. У тебя какая винда? |
|||
|
||||
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
||||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 3 Всего: 61 |
Ну не так категорично ![]() Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
А что такое асинхронный поток?
|
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 3 Всего: 61 |
Leksey, а зачем поднимать такой старый топик вопросом, не относящимся к сути дела? тем более с явным намеком...
|
|||
|
||||
vinegr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 6.2.2006 Репутация: 1 Всего: 3 |
Ой, а у меня и во второй версии та же фигня
(2003 Server SP1, .Net Framework V 2.0.50727) и ведь я на это нарывался, да только так и не понял - в чем дело ![]() Будут какие-нить результаты - поделитесь, плиз |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 3 Всего: 61 |
vinegr, код в студию. В тестовом проекте воспроизводится?
|
|||
|
||||
vinegr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 6.2.2006 Репутация: 1 Всего: 3 |
да, в тестовом примере от arilou та же фигня
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |