в desctop?
Как лучше обработать такой метод. Чтобы UI не подвисал, что бы можно было отменить задачу при закрытии окна и так же что бы не словить deadlock
https://fornever.me/en/posts/2022-08-21.async-void.html
void NoAwait(this Task task) { task.ContinueWith(t => { if (t.IsFaulted) Console.Error.WriteLine(t.Exception); }, TaskContinuationOptions.ExecuteSynchronously); } Если я не пишу в консоль и в логи, как мне отловить exception ?
Что значит «отловить»?
обработать, показать месседж бокс с понятным сообщением
Создавать CTS в OnLoad (неважно, главное где-то в начале) и отменять в OnClosed. Передавать в методы его токен. Я так делаю, полет нормальный.
Тоже думал над таким вариантом. Только на каждую операцию создавать новый? Или можно один для всех задач использовать?
Нет, один для формы.
Ну я это и имел имел в виду. Я просто к тому что использовать один токен для всех async операций в рамках одной формы.
Обсуждают сегодня