发布日志的WCF操作 – 它应该是回调吗?

WCF包含服务器和客户端在我的情况下,Server是生成数据(日志)的程序。 当准备好发布新数据时,应该通知几个订户。

所以我认为WCF服务器应该为所有感兴趣的客户端回调一些方法….

我应该使用“CallbackContract”关键字来定义单向回调操作吗?

我需要的是void Log(string)方法,每次应该有什么东西时服务器都会为所有客户端调用,如何根据WCF定义这样的方法?

可能我应该避免“回调”,而是使用string[] getLogs()方法,它将返回新的日志? 然后客户端可以每隔一两秒钟调用getLogs方法来获取最后一个间隔的日志?

您所描述的内容看起来像Publisher / Subscriber模式。 看看这个: http : //blogs.msdn.com/b/tomholl/archive/2008/05/17/building-a-pub-sub-message-bus-with-wcf-and-msmq.aspx

还有一些专门的框架,比如NServiceBus ,可以解决更广泛的异步消息传递问题。

你问的问题听起来很合理,看看这个: WCF Callbacks; 初学者指南