WCF包含服务器和客户端,在我的例子中,服务器是产生数据(日志)的程序。当一组新的数据准备发布时,应该通知几个订阅者。
所以我认为WCF服务器应该为所有感兴趣的客户端回调一些方法……
是否应该使用CallbackContract关键字来定义单向回调操作?
我需要的是void Log(string)的方法,这将被调用的服务器为所有的客户每次应该有东西应该是,如何定义这种方法在WCF方面?
也许我应该避免“回调”,而是使用返回新日志的string[] getLogs()方法?然后,客户端可以每隔一秒、两秒或三秒调用一次getLogs方法来获取上一时间间隔的日志?
发布于 2011-09-11 02:45:42
您所描述的内容看起来像是发布者/订阅者模式。看看这个:http://blogs.msdn.com/b/tomholl/archive/2008/05/17/building-a-pub-sub-message-bus-with-wcf-and-msmq.aspx
还有一些专门的框架,比如NServiceBus,可以解决更广泛的异步消息传递问题。
发布于 2011-09-10 22:28:01
你的要求听起来很合理,看看这个:WCF Callbacks; a beginners guide
https://stackoverflow.com/questions/7370423
复制相似问题