我们一直在使用PollingDuplexHttpBinding一段时间做Pub/Sub消息。我们有一个不返回结果,允许用户订阅一些数据反馈,然后再服务推回数据通过CallBack合同的方法。

刚才我们已经增加了一些Request/Reply方法我们OperationContract。由于客户是Silverlight 3的这些方法是使用async Begin() End()模式调用。问题是,我们不能让这种使用PollingDuplexHttpBinding工作。我们总是得到以下错误(堆栈使用HTTP客户端时):

  

服务器没有提供有意义的答复;这可能是由合同不匹配,会话提前关闭或内部服务器错误引起的。

使用浏览器堆栈我们得到HTTP 500: Not Found.

当切换到BasicHttpBindingRequest/Reply方法被称为完全细,但显然Pub/Sub方法不能与此结合。

可以使用

我们可以使用两个单独的端点为每种类型的消息,但宁可不要和它似乎很奇怪,我认为有约束力的将只支持Pub/Sub模式(尽管这是PollingDuplexHttpBinding动机)。

有人能清楚这件事给我吗?这可能吗?

有帮助吗?

解决方案

我们从来没有得到这个工作。我们使用basicHttpBinding的为我们所有的请求/我们的Silverlight 4的应用程序和我们的WCF服务4之间的回复操作。这些都是异步方法调用(必须与Silverlight的),以每通话服务。对于这对夫妻的我们必须做服务器推送的情况下,我们有一个Sessionful WCF服务保持PollingDuplexHttpBinding连接到Silverlight客户端,我们使用回调契约具有单向方法来拨打电话。

永远无法得到请求/应答业务工作与PollingDuplexHttpBinding,但从来没有发现对此事要么...

权威
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top