I am currently working on a c# .NET desktop application that will be communicating to a database over the internet via WCF and WCF Data Services. There will be many spots in th
you can define a callback interface in the WCF connection like this:
[ServiceContract(CallbackContract = typeof(IFooClient))]
As the client initiates the connection the should work through the firewall. The the server can method to register for changes an you can get the callback interface with
IFooClient client = OperationContext.Current.GetCallbackChannel();
and callback all the clients that are registered on data changes.