1
우수한 MvcMailer 패키지를 사용하여 응용 프로그램 내에서 전자 메일을 보내고 있습니다. 나는 이메일을 보낼가 SendAsync() 메소드를 사용하고,하고 싶은 첨부 파일이 잘 작동MvcMailer로 ASync 전자 메일을 보낼 때 로깅 오류가 발생했습니다.
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 객체를 삭제하려고했는데 eventhandler를 DRY 방식으로 추가하려고했지만 MvcMailer 소스 자체를 수정하지 않으면 불가능합니다. – seekay
처분을 처리하려면'using' 블록을 사용해야합니다. 이벤트 처리기를 반복적으로 추가해야하는 경우에는 팩터 리 패턴을 사용할 수 있습니다. 공장 내부에서 필요한 모든 것을 배선하십시오. – Ragesh