首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#我应该使用服务还是只轮询数据库

c#我应该使用服务还是只轮询数据库
EN

Stack Overflow用户
提问于 2018-09-19 04:33:40
回答 2查看 68关注 0票数 1

我对服务不太了解,所以如果我想做一些他们不想做的事情,请原谅我。

我正试图为一个家庭成员发送软件。他们计划从3或4名调度员开始,但将来可能会扩大规模。我需要软件不断地(至少每5秒或10秒)检查是否有一个新的未处理的呼叫在没有呼叫时被放置,或者他们是否在呼叫中,看看是否有另一个调度员更新了呼叫(由于电话中有附加信息)。

哪个选项更适合上述情况?

( A)在数据库中有一个表,跟踪对调用/新调用的更新,并从软件的每个实例每5-10秒轮询一次。

B)在拥有数据库的机器上运行一个服务,并让该服务负责所有SQL。在服务中创建每个调用的实例,然后询问服务是否有任何更改或未处理的调用。

如果B,是否可以在另一台(联网)机器上的软件可以订阅的服务中创建委托?如果是这样的话,我在哪里可以找到这样做的信息,我在谷歌上找不到任何东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-19 04:42:44

这是一种宽宏大量。

但是,您可以使用以下方法

  • DB触发器,以监视插入等,然后做和惊人的数据库的东西,当触发。
  • 创建一个轮询的Windows服务,这根本不是问题。
代码语言:javascript
复制
- You could even self host a _WCF_ server with a _Duplex Contract_ that other software subscribes to, you could then send notifications ect via that channel. 
- or use _SignalR_ for notification which would work just fine in this situation as well, and is a 5 minute job to get working. 

虽然,这里有很多方法,但是你真的需要做一些研究才能找到最适合你的方法。

票数 2
EN

Stack Overflow用户

发布于 2018-09-19 04:42:16

解决方案B更好。

如果B,是否可以在另一台(联网)机器上的软件可以订阅的服务中创建委托?如果是这样的话,我在哪里可以找到这样做的信息,我在谷歌上找不到任何东西。

这取决于您的需要和项目类型。

  • 您可以在SignalR中使用ASP.Net
  • 如果使用套接字,则可以保持连接处于活动状态,并将客户端上下文存储在列表中并通知主题。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52398109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档