질문이 있지만 질문이 약간 다릅니다.인터페이스/구현에 이벤트 추가
IEmailDispatcher
그것은 다음과 같습니다 :
내가 가지고있는 정적 EmailDispatcher 클래스가 : 약간의 배경으로public interface IEmailDispatcher
{
void SendEmail(string[] to, string fromName, string fromAddress, string subject, string body, bool bodyIsHTML, Dictionary<string, byte[]> Attachments);
}
나는 인터페이스가 메서드 : SendEmail (string [] to, fromName 문자열, fromAddress 문자열, str 제목, 문자열 본문, bool bodyIsHTML, 사전 첨부 파일);
그런 다음 IoC를 통해 관련 IEmailDispatcher 구현을로드하고 해당 메서드를 호출합니다.
내 응용 프로그램은 단순히 내가 그래서 각 구현 할 수있는 등 ... 예를 OnEmailSent, OnEmailFail를 들어, 이벤트를 추가 할 .........
을 EmailDispatcher.SendEmail를 (호출 할 수 있습니다 더 나은 방법이, 이메일을 보내는의 성공과 실패를 처리하고 적절하게 기록합니다. 나는이 일에 대해 갈 것이라고 어떻게
?
또는? 순간
를, 내가 사용 해요 "BasicEmailDispatch er "은 기본적으로 System.Net 네임 스페이스를 사용하고 MailMessage를 생성하여 전송합니다.
향후, 나는 ... ... 등보고에 대한 SQL DB 테이블에 추가 그래서 BasicEmailDispatcher
을 내가 구현하는 방법을 잘 모르겠어요 this- 어디 않습니다 내 정적 클래스에 맞는? 발신자의 "진입 점"은 ...? 예를 들어 BasicEmailDispatcher, DummyEmailDispatcher가 있습니다 ... 여전히 IEmailDispatcher를 구현합니까? 또는 BaseEmailDispatcher ... – Alex
또한 각 EmailSent 및 EmailFailed 이벤트가 각 구현에서 달라질 수 있습니다 .... – Alex
죄송합니다 - 귀하의 요구 사항을 다소 오해했습니다! 내 대답을 수정하는 과정에서 나는 그것을 조금 분명히하려고 노력했다. 귀하의 정적 클래스에 관해서는, 그것은 정말로 별개의 문제입니다 - 당신이 해왔 던 것처럼 그것을 계속 사용할 수 있습니다. (비록 싱글 톤과 의존성 주입에 대해 StackOverflow를 읽는 것이 좋습니다!) –