czu*_*ski 8 .net c# windows-services scheduled-tasks
我必须创建一个应用程序,它将从数据库中读取一些信息,处理数据,将更改写回数据库,然后将包含这些更改的电子邮件发送给某些用户或组.我将在c#中编写此代码,此过程必须在特定时间每周运行一次.这将在Windows 2008 Server上运行.
在过去,我总是会使用计时器创建一个Windows服务的路径,并设置它在app.config文件中运行的时间/日期,以便可以更改它,只需重新启动即可捕获更新.
不过,最近,我看过博客帖子等,建议编写一个控制台应用程序,然后使用计划任务来执行它.
我已经阅读了很多关于这个问题的帖子,但是没有看到关于哪个过程更好的明确答案.
你们有什么想法?
谢谢你的任何想法.
Mit*_*ers 14
如果它是每周一次的应用程序,为什么要浪费资源让它在一周的其余时间在后台运行.
控制台应用程序似乎更合适.
我使用的典型经验法则是沿着这些方向.首先我问几个问题.
基本上从这里开始,如果执行频率是每天或更低频率,我几乎总是倾向于计划任务.然后查看更改的频率,如果对计划更改有很高的要求,我还会尝试倾向于计划任务,以允许对计划更改进行无编码更改.最后,如果曾经想过除时间之外的触发器,那么我将倾向于Windows服务以帮助"将来证明"一个应用程序.比如说每次用户在X文件夹中删除文件时都要运行需求更改.
我遵循的基本规则是:如果您需要连续运行,因为感兴趣的事件可能随时发生,请使用服务(或UNIX中的守护程序).
如果您只是想要定期执行某些操作,请使用计划任务(或cron).
这里的关键是你的短语"must be run once a week at a particular time"- 去做一个预定的任务.
| 归档时间: |
|
| 查看次数: |
3325 次 |
| 最近记录: |