异步调用远程对象的方法时出现的问题

本主题介绍一项传统技术,保留该技术是为了向后兼容现有的应用程序,不建议对新的开发使用该技术。现在应该使用  Windows Communication Foundation (WCF) 来开发分布式应用程序。

如果 .NET 远程处理客户端是需要同步上下文的上下文绑定类,则将通过 .NET Framework 远程处理上下文基础结构来调度回调函数。这意味着回调函数本身可以与用于此类上下文的调用方异步执行。如果应用于回调方法签名,则这也是 OneWayAttribute 特性的行为。任意这种方法回调函数都可以与远程调用方同步或异步执行,并且当执行控制返回给调用方时,调用方不能做出任何关于此类调用完成的假设。

7khbsf39.note(zh-cn,VS.100).gif注意:
在异步操作完成之前,第二次使用相同的 IAsyncResult 调用 EndInvoke 方法是未定义的。

在 .NET Framework 1.0 版和 1.1 版中,引发异常的异步委托将被调用两次。在 .NET Framework 2.0 版中,该委托只被调用一次。

另请参见

概念

远程处理示例:异步远程处理
远程应用程序的配置

其他资源

.NET Framework 远程处理概述