2011-10-04 57 views
1

我有一个需要,我需要有一个Asp.net应用程序每隔几分钟轮询一个邮箱检查新邮件,然后处理该邮件作为数据库的数据输入。asp.net电子邮件轮询

有没有办法让Asp.net应用程序的行为像一个任务调度程序,它经常轮询邮件服务器来检查电子邮件?

+1

退房http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/ –

回答

1

你有多种选择:

  1. 使用one of the Timer classes到断火每隔x蜱的方法。
  2. 做相同的,但作为一个windows service - 这让你的应用程序运行,没有任何用户登录
  3. 使用内置的task scheduler来执行应用程序。
  4. 使用缓存,设置为在x分钟后过期。使用onRemoveCallback参数调用回调来重新填充缓存项目(并执行您的方法)。
+0

感谢俄德, 1.将定时器类保持应用程序是否有效? 2.您是指“与Windows服务相同”的含义? – Jacques

+0

@Jacques - 1.定时器会在自己的线程上触发,所以是的。 2.而不是一个asp.net应用程序,使用Windows服务。 – Oded

+0

@Jacques - 查看选项4,可能是asp.net应用程序的最佳选择。 – Oded

0

有没有办法让Asp.net应用程序的行为像一个任务调度程序,它经常轮询邮件服务器来检查电子邮件?

不是真的,因为如果在给定的periode中没有访问者,asp.net应用程序将关闭,直到新的访问者进入该站点。 所以我会建议你在Windows服务中做到这一点!

+0

查看Oded答案中提到的Cache选项。 – Karlth