我正在編寫一個應用程序,它會在整個應用程序的生命週期中發送大量電子郵件。SendEmail方法不起作用
用戶抱怨說應用程序確實沒有響應,速度一般很慢。我唯一可以提出的理由是,大量的電子郵件發送。所以我想我可以通過在不同的線程中發送電子郵件來解決問題!
我在SPUtility助手類中使用SendEmail方法。現在,我有一個看起來像這樣的方法:
public static void SendEmail(SPWeb web, string to, string subject, string body)
{
//Some logic goes here
System.Threading.ThreadPool.QueueUserWorkItem(o =>
{
SPUtility.SendEmail(web, false, false, to, subject, body, false);
});
}
這種方法是在DLL中定義,並且它正在從不同的webpart的大量調用。
但這不起作用。如果我刪除QueueUserWorkItem位,並讓它在一個線程之外發送電子郵件,它就像一個魅力一樣,但是它的速度很慢。
我該如何解決這個問題?
我會在早上嘗試第一件事。非常感謝! – 2011-06-01 04:24:04