数据库值更改后,通过在后台连续轮询来通知用户

时间:2018-07-28 15:30:18

标签: c# sql-server

数据库值更改后通知用户。

我必须在用户可以创建票证的系统中进行设计,每张票证都将具有创建日期时间和阈值时间跨度。

因此,一旦到达currentdatetime - creatindatetime > threshold,我必须将其通知给用户。

我有一个Ticket班:

class Ticket
{
    public int TicketId { get; set; }
    public string TicketName { get; set; }
    public DateTime CreatedDate { get; set; }
    public TimeSpan Threshold { get; set; }
} 

Ticket表的数据库中,我将具有以下列:

 TicketId, TicketName, CreatedDate, Threshold, LastNotificationSent

我想到使用Windows服务,该服务每2-3秒轮询一次,并通过邮件将过期的所有票证信息发送给用户,并更新数据库列LastNotificationSent

我们必须在票证过期后立即通知用户的主要标准。

如果我们每2-3秒轮询一次Windows服务器,我们将有很多数据库调用,我必须避免。

我正在寻找其他选择。

1 个答案:

答案 0 :(得分:0)

如果您正在使用Microsoft SQLServer,应该使用Query Notifications。正是您要找的东西。

Here's a code sample在C#中,您可以用作实现的基础。