powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как в WinForms дождатся завершения задачи ?
3 сообщений из 3, страница 1 из 1
как в WinForms дождатся завершения задачи ?
    #38700782
Ростигай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.

Подскажите, как заставить данный код работать:

Код: c#
1.
2.
3.
4.
5.
6.
private void button1_Click(object sender, EventArgs e)
{
var someTask = Task.Factory.StartNew<int> (...);
int i = someTask.Result;
...делаем что-то еще с I
}




зависает при ожидании результата.

Насколько я понимаю, проблема в синхронизационном контексте. В NET 4.5 можно использовать ConfigureAwait (false), что, наверное, поможет. Но, к сожалению, у меня .NET 4.0 !

И все таки, объясните пожалуйста - почему именно зависает. Чтобы знать на будущее.

ЗЫ. Я вижу вариант с ContinueWith. А без него никак ? Чтобы остаться в пределах обработчика нажатия кнопки. Не хочется усложнять код.
...
Рейтинг: 0 / 0
как в WinForms дождатся завершения задачи ?
    #38700786
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РостигайЯ вижу вариант с ContinueWith. А без него никак?Без него никак.
РостигайЧтобы остаться в пределах обработчика нажатия кнопки. Не хочется усложнять код.Вставляем в ContinueWith лямбду и остаёмся в пределах метода и с простым кодом.
...
Рейтинг: 0 / 0
как в WinForms дождатся завершения задачи ?
    #38700795
Ростигай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К,

Спасибо за ответ.
Да наверное все же правильней через continueWith. так и кнопка не заблокирует приложение. Это правильный путь многопоточности.

Просто психологически не нравится, что рабочий код выходит за пределы кнопки :) Там же еще придется делать обработку исключений в продолжении :)

да... нужно привыкать к многопоточности конечно.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как в WinForms дождатся завершения задачи ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]