我有一个tcp
WCF服务,用于计算某些价格并将它们放入队列中供客户端选择并显示。
我想到的第一件事是Producer/Consumer
模式。 WCF服务生成价格并将它们放入队列中。然后,客户端将使用队列中准备好的任何工作项。
看看Albahari's BlockingCollection example,他如何解释生产者/消费者模式,我无法理解它。
var pcQ = new PCQueue (1);
Task task = pcQ.EnqueueTask (() => Console.WriteLine ("Easy!"));
如果我在WCF service
上运行此操作,我已将一个任务放入队列中进行处理,足够公平。但是一旦在服务端完成任务,我该如何自动将价格推送到客户端?或者这不是我用tcp
WCF服务可以做的事情吗?
答案 0 :(得分:2)
对于你的问题,我可以用两种解决方案思考:
第一个:在你的任务中你将推送逻辑放在你的活动连接中发送结果,但是......你必须为此构建所有的推送环境。
第二种:当你完成任务时,你可以把结果放到另一个端点到客户端,在客户端,你构建一个逻辑来询问服务器“你完成了我的任务吗?答案是什么? “
答案 1 :(得分:0)