监控服务器和网站 - 设计问题

时间:2011-04-28 10:47:41

标签: asp.net database indexing monitoring

我有一个ASP.NET Web应用程序,它不断监视来自Delicious的新RSS Feed,并将结果存储在数据库中。除此之外,我还需要查询数据库以便在需要时显示结果。我正在使用计时器事件,因此每15分钟就会对美味新饲料进行索引,这是一个持续的过程。

为了清楚起见我有一个包含2个页面的Web应用程序:  1.默认,aspx:索引  2. recommendations.aspx:在数据库中查询建议

现在我遇到了一些问题:

我将timer事件放在default.aspx页面中,以便每15分钟启动一次事件并开始编制索引。但是,问题在于我必须在该页面上才能进行索引。理想情况下,我希望此过程在后台运行而不会打扰用户。

其次,如果用户必须单击suggest.aspx页面并查询数据库,它将继续等待localhost ..,因为它将忙于索引。

我需要有关设计此系统的正确方法的建议,如果有可能,请。

提前致谢

2 个答案:

答案 0 :(得分:1)

正如您所说,index.aspx后面的代码只会在页面加载时运行。

你真正想要使用的是某种后台进程 - 换句话说就是Windows服务。 Windows服务的过程始终保持运行,因此您可以使用长时间运行的定时器来进行轮询等。

对此进行的演练在MSDN上here

答案 1 :(得分:1)

  

我把计时器事件放在了   default.aspx页面每15个   分钟,它启动事件和   开始索引。但是,问题   这是我必须在那个页面上   为它索引。理想情况下我想要那个   这个过程在后台工作   而不会打扰用户。

您可能只需要一个脚本,其执行是通过Windows“计划任务”控制的。时间由“计划任务”控制;下载和数据库更新由脚本控制。根本不需要网页。