在RESTful服务中使用WCF双工服务



假设我想创建一个WCF WebHTTP服务("ServiceREST"),它有一个对双工服务("ServiceDuplex")的引用。ServiceDuplex需要某些回调成员的实现来交付从它请求的数据。例如,对ServiceDuplex上的GetCustomers的调用触发该服务上的一个方法,该方法通过回调"ReceiveCustomers"将客户返回给客户端。

也就是说,假设我想在ServiceREST上有一个方法"getsingleccustomer"。假设所有数据都是按需检索的(而不是在启动后缓存),我必须首先从ServiceDuplex调用"GetCustomers",并等待在我实现的回调中填充我的集合,然后才能搜索我需要的单个客户。

由于webHttp不支持回调到客户端,我被迫在我的GET (getsingleccustomer)调用中使用AutoResetEvent之类的东西,直到双工的回调填充集合。

对于我正在尝试做的事情是否存在"最佳实践",或者我正在尝试做的事情是错误的,以至于没有创建这样的实践?

谢谢你的帮助

保持简单,ServiceDuplex没有做应该做的事情,比如使调用异步,那么为什么要首先使用它…

最新更新