使用ASP.NET C#每天上午08:00显示一些消息

时间:2009-11-04 11:21:18

标签: c# asp.net

我想读取我的数据库获取值,使用新值更改旧消息,然后显示此新消息。我想在每天08:00做这个阅读工作。我怎么知道时钟是上午08:00?需要控制每一秒?或者还有什么?

4 个答案:

答案 0 :(得分:1)

创建一个简单的控制台应用程序或Windows应用程序,并使用默认的Windows计划程序安排此应用程序,以便随时运行。

Windows XP Scheduler教程:http://www.iopus.com/guides/winscheduler.htm

Windows Vista计划程序教程:http://technet.microsoft.com/en-us/appcompat/aa906020.aspx

Windows 7任务计划程序:http://www.windows7update.com/Windows7-Task-Scheduler.html

答案 1 :(得分:1)

这里需要注意的关键是你实际上不需要在早上8点执行此操作 - 当应用程序在第一次使用应用程序时第8次时需要执行此操作在上午8点之后使用 - 如果,也就是说,您只想在ASP.NET应用程序中执行此操作。

您需要跟踪上次更新邮件的时间。

在ASP.NET中,在一个合适的应用程序启动事件中,调用update方法 - 应该检查该值是否需要更新 - 然后设置一个计时器(自从我编写代码以来最后这样做了5年,对于“下一个”早上8点,当计时器触发时,调用你的更新方法,再次设置计时器。因此,如果应用程序启动,它将在需要时更新,如果它正在运行更新。

如果您有更多访问权限的服务器,请创建一个Windows服务来进行更新。

这两者之间有几个选项 - 创建页面或Web服务以在ASP.NET应用程序中触发更新逻辑,然后使用外部计时器在预定时间打开页面/调用Web服务。最合适的解决方案取决于您的托管环境以及您可以使用的其他资源。

答案 2 :(得分:0)

您可以创建一个Windows服务,并按照您每天所需的时间安排它。

答案 3 :(得分:0)

在Stack Overflow博客上查看这篇文章,其中介绍了如何使用ASP.NET模拟Windows服务:http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

如果您这样做,您应该能够将任务设置为每24小时运行一次,但如果您需要在上午8点更新网站,则可能需要计算缓存项目所需的秒数。

希望这有帮助。