我对使用basicHttpbinding的wcf服务有一个非常基本的问题: 当客户端同步调用wcf服务(basichttpbinding)时,如何在两者之间接收请求和响应?是否在服务器上的2和端口之间建立了套接字连接,直到客户端收到响应为止?如何将响应发送回等待的客户端?服务器上的IF端口无法长时间运行,那么它是否会阻碍服务能力接受来自其他客户端的请求?另外,如何通过异步调用wcf服务进行通信?我读了那个频道,因此端口/插座应该在两端都保持打开状态。
答案 0 :(得分:0)
使用basichttpbinding,它与浏览器和Web服务器之间的正常http通信非常相似。如果您点击网页上的链接,来自浏览器的请求将发送到相应的Web服务器,该服务器处理请求并将内容作为响应返回给等待的浏览器。
与WCF basicHTTPBinding相同。 WCF客户端向指定的Web服务(http:// webservice:port / ServiceObj / MethodName)发送post或get请求,并等待响应。当Web服务完成收集数据时,数据将在打开的连接上的响应中发送回客户端,然后由主机关闭。没有持久的联系。因此,basichttpbinding是无状态的。一旦Web服务发送响应,就会回收连接,并且服务已准备好进行下一个请求。
如果客户端完成了通信,则可以明确关闭其连接;那是最好的。但如果它没有关闭它的连接,它将不会对主机产生任何影响。