WCF - Композитный IAsyncResult - PullRequest
0 голосов
/ 19 июля 2010

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

ОднакоАсинхронный шаблон в WCF поддерживает только один IAsyncResult, возвращаемый в методе BeginXXX.

Мне было интересно, есть ли у кого-нибудь опыт создания составного IAsyncResult, который мог бы сигнализировать, как только все веб-службы вернулись, или иметь какие-либо другиеидеи для решения проблемы?

1 Ответ

0 голосов
/ 20 июля 2010

Я думаю, что в основном вам нужно будет создать собственную реализацию IAsyncResult, а также вести серьезный бухгалтерский учет вокруг ваших запросов.Я предполагаю, что вы захотите запустить ваши внутренние запросы параллельно, а затем подождать, пока все не будет сделано, прежде чем вернуться, верно?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...