Скорее всего, вам не нужно ничего делать, если вы уже используете асинхронные методы. В зависимости от технологии, которую вы используете для вызова веб-службы, в конечном итоге он будет использовать API-интерфейс Win32, чтобы выполнить вызов для получения байтов из сети, и для этого он будет использовать завершение ввода-вывода. Порты для обработки асинхронных вызовов.
Основная предпосылка, лежащая в основе портов завершения ввода-вывода, заключается в том, что при ожидании операций ввода-вывода существует пул потоков, который продолжает ожидать завершения операций ввода-вывода (при условии, что вы зарегистрировались для использования портов завершения ввода-вывода). ). Когда ваша зарегистрированная операция завершается, поток из пула потоков порта завершения ввода / вывода используется для обработки обратного вызова.
Конечно, после вызова порта завершения ввода / вывода ваш поток может перейти к дополнительной работе или завершить работу, выбор за вами.
Следующее должно помочь описать это больше:
Порты завершения ввода / вывода:
http://msdn.microsoft.com/en-us/library/aa365198(VS.85).aspx
Внутренние порты завершения ввода / вывода (WayBack Machine):
https://web.archive.org/web/20101101112358/http://doc.sch130.nsc.ru/www.sysinternals.com/ntw2k/info/comport.shtml