Проблемы, возникающие при асинхронном вызове методов удаленных объектов

Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью  Windows Communication Foundation (WCF).

Если клиент удаленного взаимодействия .NET является контекстно-привязанным классом, требующим синхронизированного контекста, функция обратного вызова передается по инфраструктуре контекста удаленного взаимодействия .NET Framework. Это значит что сама функция обратного вызова может исполняться асинхронно относительно своего вызывающего объекта для таких контекстов. Это же относится к атрибуту OneWayAttribute, если он применяется к подписям методов обратного вызова. Любая функция обратного вызова такого метода может выполняться синхронно или асинхронно в отношении удаленного вызывающего объекта, а вызывающий объект не может делать каких-либо предположений о завершении подобного вызова, когда ему возвращается управление выполнением.

7khbsf39.note(ru-ru,VS.100).gifПримечание
Вызов метода EndInvoke перед завершением асинхронной операции во второй раз с тем же неопределенным результатом IAsyncResult.

В .NET Framework версий 1.0 и 1.1 асинхронный делегат, создающий исключение, вызывается во второй раз. В .NET Framework версии 2.0 делегат вызывается только один раз.

См. также

Основные понятия

Пример удаленного взаимодействия. Асинхронное удаленное взаимодействие
Конфигурация удаленных приложений

Другие ресурсы

Общие сведения о средствах удаленного взаимодействия платформы .NET Framework