2017-12-21 22 views
1

IIS에서 호스팅되는 WCF 서비스가 있습니다. 응용 프로그램 초기화 중에 RabbitMQ 수신을 시작하고 서비스를 장기간 사용하면 Q가 Q1을 구독합니다. 서비스가 메시지를 가져오고 처리에 실패합니다.IIS에서 RabbitMQ 대기열 사용 WCF 서비스

우리는 다른 Q 서비스에 관심이있는 다른 Windows 서비스를 가지고 있습니다. Q2는 장기간 후에도 모든 이벤트를 처리 할 수있었습니다.

장기 실행 후 WCF가 실패하는 이유는 무엇입니까? Apppool에 부과 될 스레드 풀 봉합이 있습니까? 이것을 디버깅하는 데 도움이 필요합니다.

참고 : 두 대기열 (Q1 및 Q2)은 교환기에 연결된 동일한 메시지 라우팅 키에 가입합니다.

답변

0

글쎄, 잘 모르겠다.하지만 기본적으로 IIS- 호스팅 된 AppPools는 20 분이 지나면 재활용/만료되므로 서비스 메소드가 호출되지 않으면 WCF 서비스가 더 이상 실행되지 않을 수있다.

시간 제한을 사용하지 않으려면 IIS AppPool 제한 시간을 0으로 설정하십시오.

+0

예 AppPool의 시간 제한을 0으로 설정하는 것을 잊어 버렸습니다. – Poothabalan

+0

사용자 지정 서비스 호스트를 만들고 AppPool 자동 시작을 잊지 마세요. – MickyD

+0

이 시나리오에서 어떻게 도움이 될지 자세히 설명해 주시겠습니까? 맞춤 서비스 호스트는 우리가 스스로 호스팅 할 때 유용 할 것이기 때문에? – Poothabalan