如何在.NET中实现夜间进程?

时间:2011-02-02 22:51:40

标签: c# .net scheduled-tasks

我有一套我想每晚执行的任务。

这些任务包括按顺序查询数据库,移动然后重命名某些图像以及更新数据库表。 My first thought创建了一个SQL Server作业并使用xp_cmdshell来移动文件,但经过一些研究我决定反对它。

将此实现为.NET应用程序的最佳方法是什么?我应该创建Windows服务吗?一个计划每晚运行一次的控制台应用程序?其他一些我甚至不知道的很酷的方式?

5 个答案:

答案 0 :(得分:10)

我通常只是将其作为预定的控制台应用程序执行。也许我很无聊......

答案 1 :(得分:6)

您正在寻找的酷炫方式是Quartz.NET。它基本上是.NET的cron作业。

答案 2 :(得分:3)

我通常将此类事情作为计划任务执行。如果它是.Net / C#控制台应用程序,请不要写入Console.Out或Console.Error(计划任务运行得非常无头)。而是使用log4net并配置appender以写入日志文件。您还可以配置另一个appender以将错误记录到Windows事件日志中。

当然,更快,更简单的方法是将您的工作编写为perl脚本而不是编译代码,并安排。

答案 3 :(得分:2)

我在使用任务调度程序方面取得了很大成功。它有很多与恐吓相关的定制。我会试一试。

答案 4 :(得分:1)

我只使用在我正在使用的服务器上运行的任务调度程序来完成此操作。我把它设置为在11:30到12:30之间的随机时间运行。 Kelloti的想法可能更令人印象深刻。