Formally speaking, pure client-server model assumes that the client is never triggered. Everything is executed by the initiative from the client side: client sends request to the server, and the server only takes the request and sends the response.
But 1) this model is so
amazingly limiting that I suspect its domination is rooted in the conceptually mistaken thinking of many players in the industry; 2) it looks like you; despite of using of the term "client" and "server" in fact is looking for a way to
go far away from this limiting model. And I really appreciate that you do. In fact, much more advanced models are known (such as publisher-subscriber, "server push"), but, regretfully, they were somewhat stalled, perhaps by the domination of the client-server.
So, your question raises very important issue, even the class of issues:
pull technology vs.
push technology:
http://en.wikipedia.org/wiki/Pull_technology[
^],
http://en.wikipedia.org/wiki/Push_technology[
^].
Please see my past answer:
Application 'dashboard' for website accounts[
^].
Further detail strongly depend on the technologies and standard you use or want to use. (And WPF it totally irrelevant here. Or, maybe you meant to mention WFC?)
If your communication layer is pretty much custom (for example, based purely on TCP), having the client part triggered would be fairly easy. Please see my past answers:
^] (anchor is broken, but the link should work; please see below),
Multple clients from same port Number[
^].
(We are experiencing problem with CodeProject links in the posts. First anchor above is broken. Please use:
"
http://www.codeproject.com/Answers/536542/anplusamateurplusquestionplusinplussocketplusprogr#answer2".
You have to copy and paste this URL to the browser yourself. Sorry for the inconvenience.)
—SA