Здравствуйте, Sinclair, Вы писали:
S>>И? Вы его сбросили и установили в другой — далее что? Автоматом все запросы отменятся что ли? S>Логично всем запросам, у которых есть cancellation token, выдать cancel.
Ну вот теперь вы и пришли к пониманию зачем нужно исключение, которое оборвет процесс, но его не нужно ни логировать, ни отображать. В .Net это будет — OperationCanceledException.
Так с чем вы еще не согласны то?
S>Тех, у которых нету — надо просто игнорировать их результат. Всё, пользователь ушёл, результат запроса уже нерелевантен. S>И всё это делается в процессе логаута. Пользователь пытается выйти из системы — приложение дожидается окончания (либо завершения, либо отмены) всех асинхронных запросов. S>Как раз для того, чтобы не было вопроса, "а чо делать, когда Вася проснулся, а голова — в тумбочке".
А с чем вы спорите? Именно это я сказал в самом начале. И ушло много сообщений, чтобы вы, наконец, поняли идею.
S>Так это же ваша программа. Как сделаете — так и будет. Вот, например, microsoft office позволяет как залогиниться в онлайн-аккаунт, так и сделать sign out. При этом никаких "асинхронных процессов" не остаётся.
А где гарантия что там не остается таких процессов? Кто проверял? Какой процесс вы проверяли?
Я только что подобную ошибку словил на MacOS свежей — не мог удалить файл из корзины, т.к. он используется. Вот вам и привет.
S>>Так дело вот в чем. Чтобы эта ошибка проявилась — нужно не простои изменить пользователя. Нужно чтобы первый пользователь запустил некую длительную операцию, которая выполняется дольше чем вход/выход из аккаунта. Это трудноуловимые ошибки и тестеры их не обнаружат да и пользователи очень редко когда столкнуться. S>Нет там никаких операций, которые выполняются дольше, чем вход/выход из аккаунта.
А кто дает такую гарантию? Это должно быть выражено в цифрах — сколько секунд выходит из системы пользователь и сколько секунд самая длительная из возможных операций.
S>Такую операцию придётся специально придумать. И в ней не будет никаких чудес. Если я сделал заявку на кредит и вышел из аккаунта, а мне её завтра одобрили — в приложение ничего не придёт. S>Это была бы огромная дыра в security. За такое могут и лицензию отобрать.