为了好玩,我正在实现一个小型通信库,它的工作方式与 wcf 非常相似。所有实现都是基于 webRequest 和 HttpListener。
我在问是否有一种方法可以与 wcf 进行监听或通信,以及我可以通过哪个传输层来做到这一点......我不是在问这是否很难或很长。只是询问是否有人知道该怎么做:D
最佳答案
WCF 利用不同的 bindings确定用于在客户端和服务器之间交换消息的协议(protocol)。使用非 WCF 机制(例如 WebRequest)与服务通信的难度取决于您为服务选择的绑定(bind)。
大多数 WCF 绑定(bind)都利用 SOAP 标准的变体通过各种传输(HTTP、TCP 等)交换消息,并且正确且完整地实现这些是相当困难的。 WCF 中最简单的基于 SOAP 的绑定(bind)是 BasicHttpBinding ,这是整个 WS-I Basic Profile 的实现可互操作的网络服务标准。
但是,有一个绑定(bind),WebHttpBinding ,使用 REST - 风格 HTTP 请求,而不是 SOAP 的所有通信。 REST 服务非常容易理解,您基本上只需在 HTTP 请求中将方法参数作为 GET 或 POST 参数传递即可。尝试与该绑定(bind)进行互操作可能是您最好的选择。
关于c# - WCF - 是否可以使用 HttpListener 或套接字监听 WCF ChannelFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150983/