2013-01-13 74 views
-2

我正在使用ASP.NET。我正在實施一個論壇,我有一個評論提交表單。當用戶提交評論時,系統會向所有註冊用戶發送電子郵件,評論已添加到網站中。系統使用循環發送多封電子郵件,我正在連接Gmail服務器並逐一發送電子郵件。問題是,您擁有的註冊用戶越多,用戶必須等待所有電子郵件發送完畢並且屏幕上出現確認消息才能等待的時間越長。如何在後臺發送多封電子郵件?

有沒有辦法如何發送電子郵件,而無需用戶等待,直到所有電子郵件都已提交發送?

+0

聽起來像你需要一個異步過程。 .Net異步編碼有很多例子可以幫助你。 – DeanOC

+1

查看[BackgroundWorker](http://msdn.microsoft.com/zh-cn/library/system.componentmodel.backgroundworker.aspx) – Tim

+1

您也可以配置數據庫以發送電子郵件。 [檢查此](http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/)。 – Schaliasos

回答

2

不要從ASP.Net應用程序發送電子郵件,因爲這會花費時間,因爲您已經注意到自己。

我會創建一個名爲Emails的數據庫表。 ASP.Net應用程序只會生成行,但不會自己發送電子郵件。

創建一個控制檯應用程序,其唯一目的是從Emails -table生成電子郵件。每使用Windows Taskscheduler運行此控制檯應用程序(例如5分鐘)。

相關問題