나는이 작품이 궁금합니다. 간단한 C# cmd 라인 응용 프로그램이 있습니다. 그것은 설정 시간 (윈도우 스케줄러를 통해)에서 이메일을 보냅니다.잠자기 후 메서드를 호출하는 스레드가 있어야합니까?
smtp가 실패라고 말하는 것이 좋은 생각일까요?
smtpException에서 나는 15 분 동안 잠들었던 스레드를 넣었다. 깨어 나면 다시 그 메서드를 호출합니다. 이번에는 smtp가 백업 될 예정입니다. 그렇지 않다면 smpt가 다시 온라인 상태가 될 때까지이 작업을 계속합니다.
내가 여기에 대해 놓친 부분이 있습니까? 나는 물론 이런 일이 벌어지고있는 로깅을 할 것이다.
회로 차단기 패턴은 외부 서비스의 과부하를 중지하는 데 사용됩니다. 그가 여기에있는 것은 "어떻게 든 작동하지 않는다면 나중에 어떤 외부의 힘이 뭔가 패턴을 고쳤을 수도 있기 때문에 나중에 다시 시도하십시오"라는 것입니다 - 1 –
@Romain, 그리고 "외부의 힘"이 실제로 문제를 해결했을 수도 있습니다. 힘이 네트워크 기술자이거나 SMTP가 실제로 과부하로 인해 작동 중지되었습니다. 무한 루프가 아니어야한다는 데 동의하지만 오히려 나중에 트랜잭션을 다시 시도합니다. – driis
-1을 제거하겠습니다. 나는 모든 곳의 패턴을 생각해 내고 모든 코드 라인에 표시하려고하는 것을 싫어합니다. 카운터를 재설정하는 데 필요한 답변을 수정하십시오. –