c# – 异步WCF中的AsyncCallback和AsyncState是什么?
在以下操作(服务端)实现中,WCF框架对AsyncState和AsyncCallback做了什么?
IAsyncResult BeginWork(<<Service call params>>,AsyncCallback callback,object state); 我想了解 >谁填充这些? 解决方法
.NET中有一些用于公开异步方法的设计模式.
这种使用BeginX和EndX方法的模式称为异步编程模型 在此模式中,您始终可以传递这两个额外参数: 1)AsyncCallback回调是在操作完成时调用的委托. 2)对象状态是您要与请求关联的任何对象. 调用者可以提供这两个参数,或者将它们保留为null,具体取决于用例. 请参阅MSDN: 附录: 在异步WCF服务实现的情况下,WCF本身是“客户端”并填充两个额外参数. 这是工作流程: 1)请求来自客户. 2)WCF构造AsyncCallback和状态对象 3)WCF调用您的BeginX方法并传递参数 4)在您的方法中,使用WCF的参数构造IAsyncResult对象 5)您启动一些后台工作并返回您的IAsyncResult对象 6)WCF等待调用其AsyncCallback 7)WCF调用您的EndX方法并将响应返回给Web服务客户端. 客户端对此一无所知,可以使用客户端同步或异步调用来调用此Web服务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |