Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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# SQLServer数据库的SqlDependency与常量轮询_C#_Sql_Sqldependency_Query Notifications - Fatal编程技术网

C# SQLServer数据库的SqlDependency与常量轮询

C# SQLServer数据库的SqlDependency与常量轮询,c#,sql,sqldependency,query-notifications,C#,Sql,Sqldependency,Query Notifications,我目前正在开发一个电子邮件应用程序,在该应用程序中,我必须监视表中的任何新记录插入,并为每一行发送电子邮件通知。 现在的变化率很低,但最终会变得更大 起初,我考虑使用SQL Server作业每3-5分钟查询一次,然后我研究了SqlDependency,但我不确定SQL dependency/query notification是否适合我的要求 如果每分钟有一次插入,那么我将每1分钟轮询一次表,而不是每3-5分钟轮询一次表。我知道使用SqlDependency可以立即收到通知并发送电子邮件通知,但

我目前正在开发一个电子邮件应用程序,在该应用程序中,我必须监视表中的任何新记录插入,并为每一行发送电子邮件通知。 现在的变化率很低,但最终会变得更大

起初,我考虑使用SQL Server作业每3-5分钟查询一次,然后我研究了SqlDependency,但我不确定SQL dependency/query notification是否适合我的要求

如果每分钟有一次插入,那么我将每1分钟轮询一次表,而不是每3-5分钟轮询一次表。我知道使用SqlDependency可以立即收到通知并发送电子邮件通知,但我不希望经常轮询会影响性能。最终,在一分钟内将有10K个插入,并且不确定另一个作业与此SqlDependency之间的拥塞情况

我正在考虑按照某些预定义的时间间隔进行SQL Server作业轮询。有什么想法或建议吗?我很确定有人以前也应该面对同样的情况。感谢您的反馈。谢谢

还有一个问题
在峰值期间,在查询通知后大约每一分钟轮询一次表是可以的,但是在处理select/send EMAILES/update期间插入的记录会发生什么情况呢。我假设在插入下一条记录之前不会收到通知,对吗

为什么不使用后插入触发器?比较使用消息队列和使用数据库之间的差异可能会很有用。并不是说这是你的解决方案,但你可以看看这是否更合适。谢谢你的回复。我们已经讨论过了,触发器不是一个选项。这是一个评论,甚至不是试图回答。电子邮件不保证发送,可能会延迟数天,可能会无序发送,因此您可能会在记录25之前收到记录15023的通知,如果您在一分钟内收到10k insert的通知,您可能会杀死您的电子邮件服务器或被禁止进入您的isp服务器。一天发送一到两次摘要邮件怎么样?谢谢你的评论。这些是出于不同原因发送给用户的单独电子邮件,因此没有每天发送一到两次摘要电子邮件的选项。