Win форма приложения заморозить на пост файла HttpWebRequest - PullRequest
1 голос
/ 03 сентября 2010

У меня есть приложение, которое загружает файлы с моего клиента на веб-сервер с помощью HttpWebRequest (с функцией, предложенной здесь: Загрузка файлов с HTTPWebrequest (multipart / form-data) )

Моя проблема заключается в том, что при публикации файла (размером около 10 МБ) приложение полностью зависает (например, «приложение не отвечает» при попытке переместить окно).

Нужно ли размещать загрузку в отдельном потоке, или есть другой простой способ решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 03 сентября 2010

Посмотрите на класс BackgroundWorker.Ваш пользовательский интерфейс будет зависать во время выполнения операции, если вы не запустите ее в отдельном потоке.

Используя BackgroundWorker, вы можете выполнить свой код в событии DoWork, и пользовательский интерфейс будет реагировать.

1 голос
/ 03 сентября 2010

Многопоточное программирование - путь в этом случае.

Вы можете создать делегата для функции, которая будет загружать файл и использовать BeginInvoke для выполнения функции в отдельном потоке.

Или вы можете просто создать новый поток, используя класс Thread и встроенный .net ThreadPool.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...