Асинхронный вызов WCF с C #? - PullRequest
4 голосов
/ 23 апреля 2009

Как в C # сделать асинхронный вызов веб-службы WCF? У меня есть Service Reference, настроенный для генерации асинхронных сообщений. Я также изменил свои вызовы для использования {WebServiceObject.Begin * ()}, но в конце есть два параметра: «AsyncCallback» и «объект asyncState». Что это такое и как их использовать?

Спасибо

Ответы [ 3 ]

4 голосов
/ 23 апреля 2009

Вы также можете посмотреть на Асинхронный без боли

3 голосов
/ 23 апреля 2009

См. MSDN Вот; http://msdn.microsoft.com/en-us/library/system.asynccallback.aspx

здесь; http://msdn.microsoft.com/en-us/library/ms228969.aspx

здесь; http://msdn.microsoft.com/en-us/library/ms228975.aspx

и здесь; http://msdn.microsoft.com/en-us/library/86wf6409.aspx

В основном в Begin * вы устанавливаете обратный вызов, который вызывается после завершения операции. Там вы вызываете End *, чтобы получить соответствующие данные.

2 голосов
/ 23 апреля 2009

Обратный вызов вызывается после завершения операции, поэтому вы можете вызвать End * и получить возвращаемое значение или исключение, если оно есть. asyncState - это просто значение для сопоставления в обратном вызове, если вы используете один и тот же метод обратного вызова в нескольких местах. Вот описание шаблона проектирования Async - http://msdn.microsoft.com/en-us/library/aa719595(VS.71).aspx

Если вы создаете приложение с графическим интерфейсом, рассмотрите возможность использования другой версии - * Асинхронный метод, который также генерируется для каждой операции. Обеспечивает синхронизацию потоков.

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