.NET RabbitMQ Client
라이브러리를 사용하고 있습니다. 메시징 시스템을 개발하고 싶습니다. 이를 위해 RabbitMQ에 필요한 모든 메소드를 구현했습니다. 또한 큐를 삭제하기 위해 dispose()
을 개발했습니다. FormClosing
이벤트에서이 메서드를 호출하므로 사용자가 닫기 단추를 클릭하여 응용 프로그램을 닫고 논리 큐가 삭제 될 때이 메서드가 트리거됩니다. 이것까지 모든 코드가 완벽하게 작동합니다.응용 프로그램이 비정상적으로 닫히면 RabbitMQ 대기열을 삭제하십시오.
하지만 내 문제가
내가 닫기 버튼을 클릭하지 않고 응용 프로그램 을 닫는 시간에 대기열을 삭제할 수 아니에요입니다 (그냥 작업 관리자에서 또는 명령 프롬프트에서 응용 프로그램 을 닫는 가정 해 봅시다 taskkill 명령을 사용하거나 어떤 비정상적으로)이 dispose()가 트리거되지 않기 때문에. 현재 관리 포털에서 수동으로 삭제하기 전까지는 대기열이 삭제되지 않습니다.
그래서 제 질문은
어떻게 응용 프로그램이 닫혀 있는지 알 수 있으며, 그 고아 큐 가 삭제 될 수있다?
그것을위한 옵션입니다 (최종 소비자 구독 취소 때 큐 삭제) 자동 삭제 너는 열렬한 대기열을 가지고 있느냐? – pinepain
감사. @ zaq178miami – Pritam