Условный оператор, чтобы избежать параллельного потока ввода-вывода Webclient

#c# #multithreading #windows-phone-7 #io

#c# #многопоточность #windows-phone-7 #io

Вопрос:

Я использую webclient для загрузки медиафайла с моего веб-сервера и сохранения в изолированном хранилище.

Если вы нажмете кнопку, начнется процесс загрузки и сохранения в хранилище Iso, но если вы нажмете кнопку во время загрузки файла, он попытается создать параллельный поток ввода-вывода для повторной загрузки, и ошибки с webclient не разрешают одновременные потоки ввода-вывода.

Я хочу написать условный оператор if, чтобы проверить, используется ли уже поток ввода-вывода, но я не уверен, как я это сделаю.

Любая помощь будет с благодарностью принята.

Ответ №1:

Разве вы не можете просто использовать логическое значение, чтобы узнать, начали ли вы загрузку уже? В любом случае, похоже, что было бы лучше фактически отключить кнопку в пользовательском интерфейсе после запуска загрузки и снова включить ее после завершения или сбоя.

Ваш пользовательский интерфейс должен соответствовать тому, что пользователи могут делать в данный момент времени — позволить им попробовать что-то, а затем заставить их потерпеть неудачу, звучит как разочаровывающий пользовательский интерфейс.

Комментарии:

1. @BrokenGlass Хорошее предложение, я думаю, что это лучший вариант с точки зрения пользователя. Я буду использовать логическое значение для сворачивания кнопки во время загрузки. Приветствия