2011-10-04 86 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