我有一個小型的asp.net應用程序,我託管在遠程服務器上。此應用程序應該在用戶設置的特定時間發送電子郵件通知(通過gamail服務器)。asp.net應用程序,自動發送電子郵件
我的問題是,有什麼辦法可以達到這個目標,因爲用戶應該通過瀏覽器打開應用程序,設置通知並關閉瀏覽器。服務器上的應用程序是否仍在運行?
請告知如何實現此目標。 謝謝
我有一個小型的asp.net應用程序,我託管在遠程服務器上。此應用程序應該在用戶設置的特定時間發送電子郵件通知(通過gamail服務器)。asp.net應用程序,自動發送電子郵件
我的問題是,有什麼辦法可以達到這個目標,因爲用戶應該通過瀏覽器打開應用程序,設置通知並關閉瀏覽器。服務器上的應用程序是否仍在運行?
請告知如何實現此目標。 謝謝
鑑於時間是可變的,我會建議編寫一個Windows服務,從網站設定的時間定期檢查當前時間。這項服務不會做任何事情,但會將您的電子郵件發送出去,使您的網站完全獨立。
我在過去做過類似的事情,不得不在不同時間發送電子郵件/短信通知,只是要小心你如何檢查時間。用戶將設置本地時間,這意味着如果您以UTC格式存儲日期(您應該是),則可能需要在比較之前將時間戳轉換回用戶本地時區。
您可以簡單地編寫Console應用程序並將其添加到Schedule Task中(如果您希望它在間隔後運行),這是更可信的方式。
雖然時間是可變的,但每當用戶更改時間就意味着更新計劃任務,不要以爲這是可以使用ASP.NET的。 – James
我剛剛發現我們只需要添加Global.asax文件(在服務器資源管理器中右鍵單擊項目,並添加新項目>>添加全局應用程序) 只需將您的電子郵件代碼放入文件中即可。託管時,即使瀏覽器已關閉,它仍會通過IIS運行。
ASP.NET的設計目的並不在於此。這可能會延長運行時間等,但最好在主機上運行它作爲服務。 – Kami
我已經創建了Windows服務,但是如何託管它? –
您需要訪問服務器本身來安裝服務。有關詳細信息,請參閱安裝Windows服務 - http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx。 – Kami