1
我使用优秀的MvcMailer包在我的应用程序内发送电子邮件。 我使用SendAsync()方法来发送电子邮件,并希望记录错误+处置的附件,即使用MvcMailer发送异步邮件时记录错误
MailMessage message = UserMailer.SendSomeEmail(emailViewModel);
var client = new SmtpClientWrapper();
client.SendCompleted += (sender, e) =>
{
if (e.Error != null || e.Cancelled)
{
Logger.LogError(e.Error);
}
if (message != null)
{
message.Attachments.Dispose();
message.Dispose();
}
client.Dispose();
};
message.SendAsync("this means nothing afaik", client);
这个伟大的工程,但它太痛苦超过wherver都重复同样的代码片段我需要发送电子邮件。
我应该如何设置它,以便在异步调用完成时记录任何错误并处理消息附件?一定有更好的方法!
谢谢!我正在尝试处理MailMessage对象+以DRY方式添加事件处理程序,但是我想如果不修改MvcMailer源代码本身,这是不可能的。 – seekay
你应该使用'使用'块来照顾处置。如果你真的需要重复添加事件处理程序,你可以看看使用工厂模式。只需连接工厂内您需要的任何东西。 – Ragesh