2013-11-15 33 views
0

我想知道計劃預定消息,電子郵件和其他內容的最佳方式是什麼。例如,如果我的Web應用程序中列出了約會,我希望應用程序在約會之前和約會時向用戶發送電子郵件。由於用戶池龐大,一次可以發送1000封電子郵件。計劃消息,電子郵件和提醒

請建議什麼是最好的方式來實現這一點,如果有服務(有償/免費的第三方),我可以發佈我的計劃任務,它應該做的工作。

感謝

回答

0

我沒有意識到這樣做「那裏」的任何服務,但如果你正在開發這將是創建一個Windows服務運行在一個計時器,最好的方式說,每10分鐘或所以。

它會從數據庫約會中讀取,在未來15分鐘或30分鐘內通過SQL查詢進行。 一旦數據被返回,您可能會爲這些記錄中的每一個記錄創建一個計時器,然後通過該計劃的計時器滴答事件在適當的時間將其設置爲啓動。 一旦計時器打勾,您只需在線程池中發送電子郵件,以避免主線程在發送一批電子郵件時被阻止/被阻止,並使您的服務更具響應性。

你不能在ASP.NET中做這個「自動化」,而Windows服務正是爲了這個目的,你有一個固定的時間間隔來完成一項任務 - 在這種情況下,獲得一段時間的約會/時間表列表的時間,然後發送電子郵件。

一旦郵件被髮送,則需要更新記錄,以確保它不會在接下來的計時器事件再度回升,以避免被派往重複的電子郵件 - 像「SentReminder」標誌在您的記錄的字段中設定在數據庫中。

這是怎麼做到的,並且是最好的方法。