во время выполнения асинхронного кода в другом потоке ?
Ну видимо он не совсем асинхронный и не совсем на другом потоке. Покажи код
https://pastebin.ubuntu.com/p/rhMXnTZKFY/ (самые важные моменты внизу, я их пометил!) Да, я кажется осознал проблему, но не смог найти инфо по решению. Суть вот в чём - надо изменить textBox не в UI потоке ввиду продолжительности данной операции. Я уже понял шо сделал неправильно, потому что BeginInvoke заставляет код выполняться как раз в UI потоке, и его вызов из другого потока позволяет обойти ограничение на изменение элементов управление из других потоков. Это как раз то, что все советуют, но мне надо не обойти ограничение, а именно асинхронно изменить бокс, иначе интерфейс будет лежать несколько секунд. И по этой теме я ничего не нашёл, тк видимо никто такой фигней не страдает хД может есть альтернативные варианты реализации?
А чем на 13-й строке не устраивает var result = await SaferECB.EncryptAsync(textBoxForInputFile.Text, 0, 6, this); ?
И да, возможно путаю и это старая инфа, но вроде как изменить textBox не в UI потоке нельзя, потому что ui-элементы находятся в контексте UI потока
Через диспатчер можно. Но имхо это сигнал, что что-то делается неправильно
Так в него всё равно string запишется, нетт ?
Да, но без запуска дополнительного таска
Обсуждают сегодня