Today somebody asked at the local MSDN Briefing in Cluj-Napoca whether one can use the WSDualHttpBinding in Windows Communication Foundation (WCF) to be able to callback a client from the server on simple HTTP protocol, even when the client doesn’t have a public IP. The speaker (he was not from Microsoft! :-)) told the person who asked that that it was indeed and for sure possible! However the asker and all participants, I guess, noticed that the answer was not satisfactory without a demo or at least documentation point. So I thought I should check this myself and here is what I found:
In this page of MSDN documentation it is clearely stated that the answer is NO:
"The WSDualHttpBinding provides the same support for Web Service protocols as the WSHttpBinding, but for use with duplex contracts. WSDualHttpBinding only supports SOAP security and requires reliable messaging. This binding requires that the client has a public URI that provides a callback endpoint for the service. This is provided by the ClientBaseAddress. A dual binding exposes the IP address of the client to the service. The client should use security to ensure that it only connects to services it trusts."