假设我想创建一个引用双工服务(“ServiceDuplex”)的WCF WebHTTP服务(“ServiceREST”)。 ServiceDuplex要求某些回调成员的实现来传递从其请求的数据。例如,在ServiceDuplex上调用GetCustomers会触发该服务上的方法,该方法通过回调“ReceiveCustomers”为客户提供服务。
话虽如此,假设我想在ServiceREST上使用方法“GetSingleCustomer”。假设所有数据都是按需检索的(而不是在启动后缓存),我必须首先从ServiceDuplex调用“GetCustomers”并等待我的集合填充在我实现的回调中,然后才能搜索单个客户我需要。
由于webHttp不支持对客户端的回调,因此我不得不在我的GET(GetSingleCustomer)调用中使用类似AutoResetEvent的内容,直到双工的回调填充集合。
对于我正在尝试做的事情,是否存在“最佳实践”,或者我正在尝试做错,以至于没有创建这样的做法?!
感谢您的帮助。
答案 0 :(得分:0)
保持简单,ServiceDuplex没有做应该做的事情,比如调用Async,那么为什么要在第一时间使用它...只坚持只使用REST。