【问题标题】:ASP.NET Routine to make a Select everyday at midnight [closed]每天午夜进行选择的 ASP.NET 例程 [关闭]
【发布时间】:2018-09-25 17:27:03
【问题描述】:

因此,我正在使用 SQL Server 在 ASP.NET 中创建一个系统,该系统会向人们发送有关其过期文档的电子邮件通知。用户输入文档的日期,它会在 5 天前警告用户它的到期时间。

我考虑过创建一些每天午夜运行的例程,并 (SELECT *) 比较实际日期和截止日期。我应该在 SQL 上创建存储过程吗?或者在我的 .CS 文件中使用 Microsoft 任务计划程序运行的东西?

【问题讨论】:

  • 您可以使用sql agent job 并安排它在每晚午夜运行,并让它调用执行此选择查询的存储过程,然后使用sql-server 发送电子邮件.
  • 或使用 Windows 服务。例如。见herehere
  • 我不建议构建一个 Web 应用程序来执行这样的工作。在您的描述中,没有必要为任何一个实现 ASP.NET。查看使用 SQL Server 或 Windows 服务的推荐选项。
  • 我建议,由于它是您希望按计划运行的任务,因此计划任务将是最合适的。用 C# 编写的从数据库中读取的程序将是该任务的不错选择。
  • @MichaelPuckettII 谢谢,我会尝试在 SQL Server 中创建一个作业来完成它,ASP.NET 部分是供用户注册文档的标题,文档的类型和到期时间日期。

标签: c# sql asp.net sql-server


【解决方案1】:

据我所知,您不需要为此使用 ASP.NET 应用程序。您可以简单地在您的 SQL Server 上运行一个在午夜运行的 SQL 作业,运行您的 SP(存储过程),它会根据需要发送适当的电子邮件。 SQL Server 具有通过 SMTP 发送电子邮件的功能。

但是,如果您想在 ASP.NET 中创建更复杂的东西,我肯定会考虑使用 Hangfire,它允许您在 ASP.NET 应用程序的后台运行作业(或不运行)。 Hangfire 可以处理相当复杂的工作场景,请看这里:http://hangfire.io

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-02
    • 2015-09-17
    • 2012-08-09
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    相关资源
    最近更新 更多