Compact Framework 2.0: возможно ли прервать асинхронный вызов веб-служб?

2

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

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

Спасибо!

  • 0
    Пожалуйста, покажите код, который вы используете для вызова асинхронной веб-службы. Существует как минимум два способа вызвать асинхронную службу, и возможность ее отмены зависит от того, каким образом вы использовали.
Теги:
asynchronous
web-services
compact-framework

2 ответа

1
Лучший ответ

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

  • 0
    Обратите внимание, что это отменяет только клиентскую часть запроса; сторона сервера просто продолжит (но ответ перейдет в нирвану).
0

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню