WCF 서비스를 만들고 netMsmqBinding 바인딩을 사용하고 있습니다.WCF의 MSMQ 바인딩에서 메시지 오류를 처리하는 방법
이것은 Dto를 내 서비스 메소드로 전달하고 응답을 기대하지 않는 간단한 서비스입니다. 이 메시지는 MSMQ에 저장되고 일단 수집 된 데이터베이스에 삽입됩니다.
데이터가 손실되지 않도록하는 가장 좋은 방법은 무엇입니까?
나는이 다음과 같은 방법을 시도 :
- 이 수동 열람 죽은 레터 큐에 메시지를 배치 예외
을 던져. 내 strvice 바인딩
3 후 시도에 receiveRetryCount = "3"
세트를 시작할 때 나는이 문제를 처리 할 수 - instantanously 일,이 큐에 메시지를 남겨,하지만 내 서비스를 잘못 것으로 보인다. 내 서비스를 다시 시작하면이 프로세스가 반복됩니다.
이상적으로는 추적을하고 싶습니다 :
시도 과정 메시지
- 을이 실패하면, 해당 메시지 5 분 정도 기다렸다가 다시 시도하십시오.
- 해당 프로세스가 세 번 실패하면 메시지를 배달 못 한 큐로 옮깁니다.
- 서비스를 다시 시작하면 데드 레터 대기열의 모든 메시지가 대기열로 다시 보내져 처리됩니다.
이것을 수행 할 수 있습니까? 그렇다면 어떻게? 주어진 장면에 대해 WCF와 MSMQ를 가장 잘 활용하는 방법에 대한 좋은 기사를 가르쳐 주시겠습니까?
도움을 주시면 감사하겠습니다. 감사!
몇 가지 추가 정보
나는 불행하게도 나는 MSMQ 4.0 및 비스타/2008을 대상으로 포이즌 메시지 지원에 내장 사용할 수있는 Windows XP 및 Windows Server 2003 에 MSMQ 3.0을 사용하고 있습니다.
이 내용은 MSMQ 4.0이 아닌 MSMQ 3.0에 적용됩니다. – Perhentian