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

时间:2011-09-10 08:00:53

标签: c# wcf

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

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

你提出的问题听起来很合理,看看这个:WCF Callbacks; a beginners guide