当使用HTTP传输时,服务器确实会调用客户端。为使其工作,客户端必须位于公共端点上,因此防火墙等必须进行适当配置。 来自http://msdn.microsoft.com/en-us/magazine/cc163537.aspx: 由于其无连接性质,HTTP不能用于回调,因此您不能在BasicHttpBinding或WSHttpBinding上使用回调。Windows Communication Foundation为NetTcpBinding和NetNamedPipeBinding提供了回调支持,因为底层传输是双向的。为了支持HTTP上的回调,Windows Communication Foundation提供了WSDualHttpBinding,它实际上设置了两个HTTP通道:一个用于从客户端到服务的调用,另一个用于从服务到客户端的调用。 并且来自WSDualHttpBinding的参考http://msdn.microsoft.com/en-us/library/system.servicemodel.wsdualhttpbinding.aspx: 这个绑定要求客户端有一个公共URI,为服务提供回调端点。这是由ClientBaseAddress提供的。双向绑定公开了客户端的IP地址给服务端。客户端应使用安全性来确保只连接到它信任的服务。