C# Xamarin Forms как правильно закрыть страницу если на ней выполняется задача

C# Xamarin forms Подскажите как правильно выйти из страницы если запущена задача. Пример условного кода.

 включаем ActivityIndicator
 bool DownloadDoc = await DownloadDocument("Путь к документу");
                    if (DownloadDoc) //True Успешно
                    {
                     //Код обработки результата
                     Например ListView.Add(Некий результат)//Но контрола уже нет
                    }
                    else
                    {
                      // код выхода
                    }

Суть такая. Нажимаем кнопку Скачать из инета документ. Но при этом не дожидаемся процесса скачивания. Закрываем страницу например кнопкой назад. Страница закрывается. Задача завершается и приложение просто закрывается. Самый простой и тупой метод это запретить действия во время скачивания. Светится ActivityIndicator и пока процесс не завершиться, сменить страницу нельзя. Так и сделано и работает. Но всетаки, как правильно закрыть страницу и остановить задачу,или проверить что страница закрыта в задаче и не продолжать ничего делать. Как это правильно обработать? Самое важное что сам код дожидается выполнения задачи чтобы что-то сделать потом.Например добавить результат в listview. Но он уже уничтожен так как c станицы ушли. Код условный. Это не значит что там только скачивание. Там могут быть и просто вычисления.

Спасибо.


Ответы (0 шт):