C# windows服务的建议体系结构\模式,该服务监视并通过邮件通知更改?

C# windows服务的建议体系结构\模式,该服务监视并通过邮件通知更改?,c#,sql-server-2008,design-patterns,architecture,windows-services,C#,Sql Server 2008,Design Patterns,Architecture,Windows Services,我想建立一个windows服务,它将通知公司中的一些管理员数据库中的主BL更改。是否有人可以建议如何建造它,它将不需要维护和一个聪明的方式。(比如在表中写入存储过程?)。我可以使用哪些技术?(如SQL依赖?) 如果有人做过类似的事情,我很乐意听到建议……有3种基本模式可以做到这一点 通知事件,正在更改的内容将引发一个事件“嗨,有人更改了我”,然后您将捕获该事件 轮询时,客户机询问数据库自上次我问您发生了什么之后发生了什么 网关,通过网关进行的所有更改,网关报告已进行的更改 你选择哪一个取决于你有

我想建立一个windows服务,它将通知公司中的一些管理员数据库中的主BL更改。是否有人可以建议如何建造它,它将不需要维护和一个聪明的方式。(比如在表中写入存储过程?)。我可以使用哪些技术?(如SQL依赖?)
如果有人做过类似的事情,我很乐意听到建议……

有3种基本模式可以做到这一点

  • 通知事件,正在更改的内容将引发一个事件“嗨,有人更改了我”,然后您将捕获该事件
  • 轮询时,客户机询问数据库自上次我问您发生了什么之后发生了什么
  • 网关,通过网关进行的所有更改,网关报告已进行的更改

  • 你选择哪一个取决于你有什么可用的技术和你的需求,以及你需要多快了解变化

    SQL Server提供了很多方法来捕获更改(包括特定于数据和特定于模式)。请参阅更改数据捕获和其他主题,如DDL触发器、事件通知和SQL跟踪。就你而言,我认为这是后面的3个主题

    所有3种方法都应该能够在数据库范围甚至服务器范围内运行(这意味着您可以设置一次,然后忘记它,因此应该满足您的免维护要求)

    结合SQL Server的数据库邮件功能,您应该能够实现这一点,而不必求助于自定义windows服务

    只是提醒一下。。。
    人们认为这是一个好主意,但如果没有正确实施,预计邮箱中会充满垃圾邮件、垃圾邮件和更多垃圾邮件。提示:临时表操作。

    什么数据库服务器?请提供品牌和版本。你能详细说明一下“主要BL的变化”吗?假设这是业务逻辑,但它目前是如何实现的?是否监视单个表等?SQL server 2008。最重要的是服务的设计,主要是不要开发任何时候有人会想要改变的新规则可能重复的不。它不是重复的。主要的问题不是所使用的技术,而是设计这种服务的方法,当客户希望监视未来的表\存储过程时,这种方法将阻止将来对其进行操作