【发布时间】:2011-10-25 21:09:30
【问题描述】:
假设我想创建一个 WCF WebHTTP 服务(“ServiceREST”),它引用了一个双工服务(“ServiceDuplex”)。 ServiceDuplex 需要实现某些回调成员来传递从它请求的数据。例如,对 ServiceDuplex 上的 GetCustomers 的调用会触发该服务上的一个方法,该方法通过回调“ReceiveCustomers”将客户服务回客户端。
话虽如此,假设我想要一个 ServiceREST 上的方法“GetSingleCustomer”。假设所有数据都是按需检索的(而不是在启动后缓存),我必须首先从 ServiceDuplex 调用“GetCustomers”并等待我的集合填充到我实现的回调中,然后才能搜索单个客户我需要。
由于 webHttp 不支持对客户端的回调,我不得不在我的 GET (GetSingleCustomer) 调用中使用 AutoResetEvent 之类的东西,直到双工的回调填满集合。
对于我正在尝试做的事情是否有“最佳实践”,或者我正在尝试做的事情是错误的以至于没有创建这样的实践?!
感谢您的帮助。
【问题讨论】:
标签: wcf rest duplex webhttpbinding wcf-callbacks