我正在使用ActionMailer.net从我的MVC网站发送电子邮件,问题是发送电子邮件有时需要几秒钟,这会延迟我的ajax调用。
我尝试使用DeliverAsync(),但仍然有相同的延迟,我像这样调用ActionMailer控制器操作:
new EmailController().EntryEmail(CurrentUser, CurrentUser, postText).DeliverAsync();所以我的问题是,是否有一种方法可以在另一个线程或异步中调用相同的Action。
备注:
我试图让ActionMailer控制器从AsyncController继承,但失败了,因为它已经从另一个类继承了。
同样为了参考,我之前问了这个问题:Is it fine to send email from another thread like this?
发布于 2011-07-01 02:32:57
为什么不创建一个继承自AsyncController的新基类呢?
对于一个简单的着火,忘记你可以使用ThreadPool.QueueUserWorkItem。
就我个人而言,我更喜欢对电子邮件进行排队,并让一个单独的后台线程来处理队列。这可以像数据库和System.Threading.Timer中的“电子邮件”表一样简单
https://stackoverflow.com/questions/6537455
复制相似问题