我对服务了解不多,因此,如果我尝试做一些不适合他们的事情,请原谅我。
我正在尝试为家庭成员分发软件。他们计划从3个或4个调度员开始,但是将来可能会扩展。我需要该软件不断(至少每5或10秒一次)检查一次,以查看不在通话中时是否放置了新的未处理呼叫,或者在通话中,是否有其他调度员更新了通话(由于致电并提供其他信息)。
对于上述情况,哪种选择更好?
A)在数据库中有一张表,该表跟踪呼叫/新呼叫的更新,并每5-10秒从该软件的每个实例轮询一次。
B)在具有数据库的机器上运行服务,并让该服务处理所有SQL。在服务中为每个呼叫创建一个实例,然后仅询问服务是否有任何更改或未处理的呼叫。
如果为B,是否可以在另一台(联网的)计算机上的软件可以订阅的服务中创建委托?如果可以,我在哪里可以找到有关此操作的信息,我在Google上找不到任何内容。
答案 0 :(得分:2)
这很宽泛。
但是,您可以使用以下
DB触发器监视插入等,然后在触发时执行和执行类似的db操作。
创建一个用于轮询的 Windows服务,这根本不是问题。
您甚至可以使用其他软件订阅的 Duplex Contract 自行托管 WCF 服务器,然后可以通过该通道发送通知等。
或使用 SignalR 进行通知,在这种情况下也可以正常工作,并且需要5分钟才能完成工作。
尽管这里有很多方法,但您确实需要进行一些研究以找到最适合您的方法
答案 1 :(得分:1)
解决方案B更好。
如果为B,则可以在服务中创建一个委托 另一台(联网)计算机上的软件可以订阅吗?如果是这样的话 我可能会找到有关此操作的信息,但我找不到任何信息 谷歌。
这取决于您的需求和项目类型。