Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查数据库中的新行-使用轮询或SQL依赖关系?_C#_Sql Server_Wcf - Fatal编程技术网

C# 检查数据库中的新行-使用轮询或SQL依赖关系?

C# 检查数据库中的新行-使用轮询或SQL依赖关系?,c#,sql-server,wcf,C#,Sql Server,Wcf,我在数据库中有几行。我创建了一个windows服务,每5分钟更新一次数据库中的新行 现在我想跟踪新的行,如果有。。。。。在WCF服务中,并向客户端发送有关该服务的通知 数据库是SQL Server,轮询数据库还是此SQL依赖关系该怎么办?代码片段将有助于在表中添加一个date或datetime(取决于您的SQL Server版本)字段,该字段是“发送到客户端”日期。默认为NULL 为要调用的服务编写一个存储过程,该过程返回所有行的结果集,其中包含NULL日期。在同一过程中,将所有空日期设置为CU

我在数据库中有几行。我创建了一个windows服务,每5分钟更新一次数据库中的新行

现在我想跟踪新的行,如果有。。。。。在WCF服务中,并向客户端发送有关该服务的通知


数据库是SQL Server,轮询数据库还是此SQL依赖关系该怎么办?代码片段将有助于在表中添加一个
date
datetime
(取决于您的SQL Server版本)字段,该字段是“发送到客户端”日期。默认为
NULL

为要调用的服务编写一个存储过程,该过程返回所有行的结果集,其中包含
NULL
日期。在同一过程中,将所有空日期设置为
CURRENT\u TIMESTAMP
,以将其标记为“发送到客户端”


根据需要频繁轮询该过程。

对于5分钟的更新频率,最好使用查询通知(即)。有关示例,请参见。如果您使用LINQ,那么您也可以使用它为LINQ查询提供SqlDependency支持的缓存失效。

或插入新记录时的触发器…@st_stefanov以及触发器如何准确通知客户端?Remus,如果他的实现允许,有一个解决方案。他可以使用publish/subscribe MQ通信解决方案并发送一条通知消息,该消息由所有客户端接收,客户端将在此事件上执行其逻辑。我们已经使用它很多年了。哦,我想我会使用这个sql缓存依赖项,在数据库中添加另一列不是一个选项。无论如何,谢谢。@piyussardana-如果您已经解决了您的问题,请将其作为答案发布并接受。这样你就不会有人继续为这个问题添加答案了。我还没有解决它,但我发现了一些东西,可能会帮助我在WCF中实现同样的功能,这里的链接还没有找到,仍然无法找到在WCF srvice中使用sql依赖项的方法。你能以任何方式修改数据库吗?我知道你说你不能添加一列,但是另一个表怎么样?