Сообщение Re[5]: Почему не отменяется задача? от 15.03.2021 22:59
Изменено 15.03.2021 23:00 Passerby
Re[5]: Почему не отменяется задача?
Здравствуйте, Passerby, Вы писали:
P>Здравствуйте, Mystic Artifact
P>Спасибо. Код последнего метода работает. Насколько я понял все дело в том, что надо было не Wait, а await.
MA>> 2. В SignalNoServer v.Wait(ct) — бросает исключение при отмене...
P>Метод с v.Wait(ct); не работает и исключение не бросается.
MA>> 3. task.Dispose(); — нельзя делать без проверки состояния задачи, иначе получишь опять исключение.
P>Если код верен, то задача снимается. Т.е. проверку надо делать во время отладки и проверки кода и после, в рабочей версии, проверка не нужна?
А вообще схема правильная решения задачи или можно решить без вызова исключений?
P>Здравствуйте, Mystic Artifact
P>Спасибо. Код последнего метода работает. Насколько я понял все дело в том, что надо было не Wait, а await.
MA>> 2. В SignalNoServer v.Wait(ct) — бросает исключение при отмене...
P>Метод с v.Wait(ct); не работает и исключение не бросается.
MA>> 3. task.Dispose(); — нельзя делать без проверки состояния задачи, иначе получишь опять исключение.
P>Если код верен, то задача снимается. Т.е. проверку надо делать во время отладки и проверки кода и после, в рабочей версии, проверка не нужна?
А вообще схема правильная решения задачи или можно решить без вызова исключений?
Re[5]: Почему не отменяется задача?
Здравствуйте, Mystic Artifact
Спасибо. Код последнего метода работает. Насколько я понял все дело в том, что надо было не Wait, а await.
MA>> 2. В SignalNoServer v.Wait(ct) — бросает исключение при отмене...
Метод с v.Wait(ct); не работает и исключение не бросается.
MA>> 3. task.Dispose(); — нельзя делать без проверки состояния задачи, иначе получишь опять исключение.
Если код верен, то задача снимается. Т.е. проверку надо делать во время отладки и проверки кода и после, в рабочей версии, проверка не нужна?
А вообще схема правильная решения задачи или можно решить без вызова исключений?
Спасибо. Код последнего метода работает. Насколько я понял все дело в том, что надо было не Wait, а await.
MA>> 2. В SignalNoServer v.Wait(ct) — бросает исключение при отмене...
Метод с v.Wait(ct); не работает и исключение не бросается.
MA>> 3. task.Dispose(); — нельзя делать без проверки состояния задачи, иначе получишь опять исключение.
Если код верен, то задача снимается. Т.е. проверку надо делать во время отладки и проверки кода и после, в рабочей версии, проверка не нужна?
А вообще схема правильная решения задачи или можно решить без вызова исключений?