2013-12-22 55 views

回答

1

我不會做,在一個觸發器 - 畢竟,發送電子郵件可能需要相當長一段時間 - 和觸發應該精簡的意思是,做工作可能的最少。不要在觸發器中進行大量耗時的處理!

我會做的是:

  • 觸發寫入它需要成爲一個「命令」表中的一些信息 - 這是快速的,這很容易,不花太多時間在所有

  • 一個獨立的,異步過程(一個SQL Server代理作業在一個完整的版本,甚至是C#應用程序),在指定的時間間隔掃描這個「命令」表中,如果有一個命令發送電子郵件,它發出該電子郵件(處理所有可能的延遲和重試等)

這樣一來,你的觸發器會很快,不會引起你的數據庫的處理延遲,以及電子郵件可以與任何軟件組件,可能在您的處置發送 - 異步,獨立於主應用程序。您的主應用程序保持快速和響應。

相關問題