我可以实现从基于 WCF 的 HTTP 服务到 gSOAP c/Linux 客户端的回调吗?

标签 c wcf gsoap basichttpbinding

我有一个 Linux/c 客户端应用程序,它通过 HTTP/SOAP (BasicHTTPBinding) 连接到 WCF 网络服务。我正在使用 gSOAP。我可以使用回调实现对网络服务的调用吗?我想异步获取数据作为回调。

更新:我已经更新了问题标题。

最佳答案

WCF 确实支持 Duplex 服务,或者那些能够回调请求客户端的服务。双工服务可能非常复杂,因为它们不仅是有状态的,而且还对客户施加了契约实现要求。

双工服务需要使用 WSDuplexHttpBinding。您将需要使用 OperationContext 来获取对回调 channel 的引用。您的客户端必须在某个类中实现回调契约,并向客户端代理提供包含回调类实例的 InstanceContext。必须支持双向通信,如果客户端在其自己的防火墙后面或通过 Internet,这可能是一个很难解决的问题。编写双工服务时要小心......它们往往比它们的值(value)更麻烦......所以确保你真的需要它。 ;-)

以下页面可能会有帮助:

http://msdn.microsoft.com/en-us/library/ms731064.aspx

关于我可以实现从基于 WCF 的 HTTP 服务到 gSOAP c/Linux 客户端的回调吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298270/

相关文章:

C:For循环未初始化,任何想法

c - 如何仅使用 ioctl 返回 mac 地址 4 十六进制而不是 6 十六进制

jquery - 将复杂对象传递到 WCF Rest 服务

gsoap 错误 : SOAP-ENV:Client [no subcode]

c++ - 如何使用 gsoap 初始化服务器上​​下文以启用简单例份验证(仅服务器身份验证)

c# - byte vs char vs int 类型

c++ - 拔河: Divide set of n objects int to subsets

c# - 暴露类的不同 View

c# - 单元测试 WCF REST 服务

c++ - 语法错误 : Declaration Expected. 为什么 gsoap 无法读取 vector ?