2011-04-28 58 views
1

我有一个ASP.NET Web应用程序,不断监视来自Delicious的新RSS Feed并将结果存储在数据库中。除此之外,为了在需要的地方显示结果,我需要查询数据库。我正在使用一个计时器事件,以便每15分钟完成一次美味食谱的索引,这是一个正在进行的过程。监控服务器和网站 - 设计问题

只是要清楚我有一个包含两页的Web应用程序:1。 默认情况下,ASPX:指标 2. recommendations.aspx:将查询建议

数据库现在我有一些问题:

我将timer事件放在default.aspx页面中,以便每15分钟启动一次事件并开始建立索引。然而,问题在于我必须在该页面上进行索引。理想情况下,我希望这个过程能够在不影响用户的情况下在后台工作。

其次,如果用户不得不点击recommendations.aspx页面,并且查询数据库,它会一直等待localhost ..,因为它将会忙于索引。

我需要一个正确的方法来设计这个系统的建议,如果可能的话,请。

在此先感谢

+0

当你说,“从美味的新饲料索引每15分钟完成”,这是否意味着你每隔15分钟存储RSS源的结果? – 2011-04-28 10:54:28

+0

我做了一些工作,然后存储它,是的。 – michelle 2011-04-28 10:58:49

回答

1

正如你说的正确,在加载页面时,后面index.aspx的代码才会运行。

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

对此的演练在MSDN here上。

1

我把计时器事件在 Default.aspx页面,使每15 分钟,它启动的事件和 开始索引。但是, 的问题在于,我必须在该页面 上进行索引。理想情况下,我希望 这个过程在后台工作 而不会打扰用户。

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

+0

好的,谢谢!你有什么链接可以帮助我做你说的吗? – michelle 2011-04-28 11:05:27

+0

这是你的意思吗? http://msdn.microsoft.com/en-us/magazine/cc163821.aspx – michelle 2011-04-28 11:06:45

+1

不,我正在考虑沿着旧的VB脚本的东西。我工作过的一些旧服务器有VB脚本,它们读取数据库以查看是否需要通知某人(这是一个脚本),然后向他们发送电子邮件(这是另一个脚本)。在你的情况下,我会寻找一些会使用RSS feed(一个脚本),解析它(可能是相同的脚本),并将内容插入数据库(另一个脚本)。我的直觉告诉我会比编写Windows服务更简单 - 也许更简单 - 但我可能是错的。 – 2011-04-28 12:17:01