【问题标题】:WCF operation to post logs - should it be callback?发布日志的 WCF 操作 - 它应该是回调吗?
【发布时间】:2019-10-23 17:59:28
【问题描述】:

WCF 包含服务器端和客户端在我的例子中,服务器是产生数据(日志)的程序。当准备发布一组新数据时,应该通知几个订阅者。

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

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

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

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

【问题讨论】:

  • 当您说“为所有客户”时,您指的是哪些客户?到目前为止,那些调用了服务器的人?
  • 客户端我的意思是那些应该接收数据的程序

标签: c# wcf


【解决方案1】:

您描述的内容类似于发布者/订阅者模式。看看这个:http://blogs.msdn.com/b/tomholl/archive/2008/05/17/building-a-pub-sub-message-bus-with-wcf-and-msmq.aspx

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

【讨论】:

  • 谢谢,这篇文章对我来说有点复杂。可能我会切换服务器和客户端。服务器将接收数据,客户端将附加到服务器并发布数据...
【解决方案2】:

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

【讨论】:

  • 感谢您的链接。这对我很有用;)
  • 以上链接已失效
  • @d219 链接现已修复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多