Compact Framework 2.0: возможно ли отменить асинхронный вызов веб-служб - PullRequest
2 голосов
/ 17 июля 2009

У меня есть пользовательский элемент управления, который выполняет асинхронные вызовы веб-служб. Интересно, смогу ли я утилизировать элемент управления, пока асинхронный вызов не закончился: я делаю вызов, и прежде чем получить ответ, я удаляю объект.

Что мне нужно сделать, прежде чем я получу ответ, чтобы безопасно утилизировать пользовательский элемент управления?

Спасибо!

Ответы [ 2 ]

1 голос
/ 14 августа 2009

Использовать CancelAsync() метод. Проверьте эту статью .

0 голосов
/ 10 августа 2009

Обычно не очень хорошая идея прерывать другой поток (это более затратно по сравнению с процессором, чем просто позволить ему завершить работу).

То, что вы, вероятно, хотите сделать, - это в вашем методе Dispose () установить флаг, который говорит, что элемент управления удален. Затем, когда ваш запрос завершится, установите флажок и проигнорируйте результат вашего запроса, если ваш запрос был прерван.

Если вам нужна конкретная помощь, опубликуйте свой код, и мы вам поможем.

...