【问题标题】:Calling a function periodically c#定期调用函数c#
【发布时间】:2015-09-02 18:08:50
【问题描述】:

我正在通过我的代码发送邮件,用于一些活动。

但有些邮件可能由于某些或其他原因而失败。

我将所有此类失败邮件的详细信息保存在一个表格中。

现在我的计划是定期检查该表,如果该表包含失败的邮件,则重新发送邮件

或者换句话说,我想每 12 小时调用一次方法 SentFailedMails()

c#我该怎么做

我的应用程序是 WCF 服务,托管在 IIS 上

【问题讨论】:

  • 您的应用程序是 24/7 运行的服务吗?
  • 使用 windows taskscheduler 并运行自定义 exe。
  • 使用windows服务或作业
  • @KuttanSujith 太棒了! WCF 服务的分类是什么?它在哪里托管? IIS?表格? WPF?自定义主机 .exe? WCF 服务在 Windows 服务中
  • 你可以使用httpmodule 吗?我的意思是 global.asax 文件?

标签: c# .net workflow-foundation


【解决方案1】:

创建一个执行任务的非常简单的控制台应用程序(将您的 SentFailedMails() 方法移动到此应用程序并在运行时执行它)。

将控制台应用程序的 exe 文件放在服务器的文件夹中。

使用 Windows 任务计划程序安排每 12 小时或任何特定时间执行 exe 文件。

【讨论】:

  • Windows 任务计划程序是一个可以从 Windows 中使用的东西。您可以将其设置为在一天中的特定时间执行程序。非开发人员可以使用它。 link 工作流基础更倾向于开发自己的调度程序。我想。
【解决方案2】:

您可能想要使用像 Quartz.net 这样的调度程序

【讨论】:

    【解决方案3】:

    您可以使用 threading.timer 并将其设置为 12:00:00,然后将您的邮件方法设置为执行。不过不要忘记调度程序更改线程。

    【讨论】:

      猜你喜欢
      • 2020-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 2018-01-26
      • 2021-09-18
      相关资源
      最近更新 更多