MSMQ와 통신하는 WCF 서비스가 있습니다. VS2010의 서비스 테스트 클라이언트 인터페이스에서 서비스를 실행하면 적절한 대기열에 메시지를 배치 할 수 있으며 모든 것이 정상입니다. IIS7에서 WCF 서비스를 호스팅하고 웹 응용 프로그램에서 서비스를 호출하면 모든 메시지가 트랜잭션 데드 - 레터 큐로 이동합니다.IIS에서 호스팅되는 WCF 및 MSMQ 문제
내가 알고있는 ID로 큐에 대한 특정 액세스 권한을 가진 응용 프로그램 풀과 사이트 (WCF 서비스를 호스팅하는 사이트)를 설치했습니다.
내가 확인할 수있는 다른 것이 있습니까, 아니면 잘못하고 있습니까?
업데이트 : 글쎄, 나는 뭔가 다른 일이 있다고 생각합니다. 큐에서 읽고 쓸 수있는 SUPER 간단한 서비스를 만들었습니다. 나는 더 깊이 파고 발견 할 필요가있다. 외모를 가진 모든 사람들에게 감사합니다.하지만 나는이 보고서를 열어 두어 다시보고 할 수있게하거나 다른 사람이 다른 아이디어를 가지고 있을지도 모릅니다. 나는 어떤 코드도 보지 않고 결정하는 것이 어렵다는 것을 알고 있지만, 나는 헤어질 것이 많기 때문에 게시하기가 어렵다.
구성에 대해 설명하면 도움이됩니다. 예를 들어 WCF가 호스팅되는 컴퓨터의 로컬 MSMQ입니까? 그렇지 않은 경우 어떤 MSMQ에서 메시지가 배달되지 않은 편지에 있습니까? –
예, WCF 서비스는 MSMQ와 동일한 컴퓨터에 있습니다. Transactional 데드 - 레터 큐를 메시지가있는 큐로 지정했습니다. 큐는 비 트랜잭션 (non-transactional)으로 설정되며 메시지는 비 트랜잭션 (non-transactional)으로 설정됩니다. – DDiVita
코드에서 큐의 이름을 지정하기 위해 어떤 종류의 이름이 사용됩니까? 그것을 게시 할 수 있습니까 (실제 이름을 마스크하고 일반 형식으로 유지하지만 정확한 형식은 유지하십시오). 문제의 설명은 대기열이 원격 대기열로 취급되며 MSMQ가 원격 대기열을 찾지 못하여 메시지를 트랜잭션 데드 레터 대기열에 전달할 수 없음을 나타냅니다. –