假设我想创建一个引用双工服务("ServiceDuplex")的WCF服务(“ServiceDuplex”)。ServiceDuplex需要某些回调成员的实现来传递它所请求的数据。例如,对ServiceDuplex上的GetCustomers的调用触发了该服务上的一个方法,该方法通过回调"ReceiveCustomers“将客户服务回客户端。
也就是说,假设我想在ServiceREST上使用一个"GetSingleCustomer“方法。假设所有数据都是按需检索的(而不是在启动后缓存),我必须首先从ServiceDuplex调用"GetCustomers“,并等待在我实现的回调中填充我的集合,然后才能搜索我需要的单个客户。
因为webHttp不支持对客户机的回调,所以我被迫在GET (GetSingleCustomer)调用中使用类似AutoResetEvent的东西,直到双工的回调填满集合为止。
对于我正在尝试做的事情,有没有“最佳实践”,或者我尝试做的事情是错误的,以至于还没有创建这样的实践?!
谢谢你的帮助。
发布于 2011-10-26 05:27:01
让它保持简单,ServiceDuplex并没有做应该做的事情,比如异步调用,那么为什么要首先使用它呢……只要坚持休息即可。
https://stackoverflow.com/questions/7895925
复制相似问题