從購買日期起12個月後向客戶發送通知電子郵件的最直接方式是什麼?到期通知
我們的Web服務器運行連接到SQL Server的ASP.NET MVC 3網站。目前,我們每週一手動運行一個網頁,通知過期的用戶。
這裏是我心目中至今選項:運行日常使用任務計劃程序
- 並最終發送通知
- 構建一個Windows服務如2)在發生故障的情況下可以自動重啓
我是否錯過了更容易的事情?
謝謝。
從購買日期起12個月後向客戶發送通知電子郵件的最直接方式是什麼?到期通知
我們的Web服務器運行連接到SQL Server的ASP.NET MVC 3網站。目前,我們每週一手動運行一個網頁,通知過期的用戶。
這裏是我心目中至今選項:運行日常使用任務計劃程序
我是否錯過了更容易的事情?
謝謝。
我以前的公司有同樣的問題。最後,我們去了Task Scheduler。主要原因是任務計劃程序是用於處理Windows中的重複性任務的標準機制,因此在未來比其他選項更易於維護。
我們的控制檯應用程序每天都由Task Scheduler運行,它被設計爲「智能」。我的意思是聰明。
內部代碼是像
Linq to get all the users that deserved an email
For each user
Send the email, mark it as sent in DB and close transaction
If email fails Write to log.
Next
Write log with stats
這樣,它是慢,但更安全。如果它有發送電子郵件至4000個用戶,並在用戶1337然後失敗,我們有一個日誌發生了什麼,它在執行下一次它將從1338
繼續在我們的系統日誌一個文件夾中,我們通常每天都會有一個條目說:
電子郵件進程在02:00由調度程序啓動。發送4000封電子郵件,失敗0次。
如果事情失敗:
電子郵件過程調度開始在02:00。發送3999封電子郵件,1封失敗。 電子郵件給用戶xxxxx失敗。原因:電子郵件地址「joeBlogs @@ gmail.com」不正確。
使用WCF服務而不是經典控制檯應用程序有什麼好處? – abenci 2013-04-10 14:07:06
不是一個大的。主要有**所有的邏輯在同一個地方**。還有更多**易於重用**的功能。例如,您可以使用手動觸發更新的網頁調用相同的進程。甚至還有另一個以/ whatif模式運行的網頁,並告訴哪些用戶在啓動過程中會收到電子郵件。 – 2013-04-10 14:22:05