2012-03-06 2 views
1

두 끝점이있는 WCF 서비스를 만들었습니다. 하나는 netTcpBinding이고 다른 하나는 WsHttpBinding입니다.net tcp 및 http 바인딩이있는 WCF 서비스가 net tcp 끝점을 호출 할 때 활성화되지 않습니다.

IIS 사이트에 로컬로 서비스를 배포했습니다. 그런 다음 콘솔 응용 프로그램을 만들고 로컬 상자의 서비스에 대한 서비스 참조를 추가했습니다. 그런 다음 tcp endpoint를 사용하여 서비스 메소드를 호출했습니다. 활성화 오류로 인해 실패했습니다.

http 엔드 포인트에서 응용 프로그램 풀을 재사용하고 서비스 메소드를 호출하면 서비스가 작동하고 활성화되었습니다. 그 후 tcp 엔드 포인트도 작동했습니다.

net tcp 끝 점이 서비스를 활성화하는 방법이 있는지 알고 싶습니다.

+0

정품 인증 오류는 일반적으로 Windows 응용 프로그램 및/또는 시스템 이벤트 로그에 일종의 이벤트를 기록합니다. 체크인을 시도하십시오 –

답변

0

netTcpBinding 끝점을 표시하도록 서비스를 구성 했으므로 IIS 7x를 호스트하는 것으로 가정합니다. IIS에 WAS (Windows Process Activation Service) 호스팅 서비스가있는 경우에는 Net.Tcp Listener Adapter (Windows 서비스)가 실행 중인지 확인해야합니다. 컴퓨터 관리> 서비스 및 응용 프로그램> 서비스 창에서 확인하십시오 (Windows 2008 Server는 약간 다른 경로 일 수 있지만 아이디어를 얻을 수 있습니다).

또한 속성 대화 상자의 로그온 탭을 확인하고 사용중인 로그온 계정에 Read &이 있는지 확인하십시오. 전체 사이트가 있어야 할 수도 있지만 정확히 기억하지 못할 수도 있습니다. WCF 서비스.

편집 : 귀하의 의견을 바탕으로

, 당신은 netMsmqBinding와 공통의 문제 행동을 설명하고 있습니다. IIS는 메모리 및 리소스를 절약하기 위해 일정 기간 동안 사용하지 않으면 (기본 설정은 20 분으로 생각) WCF 서비스 인스턴스를 "대기 상태"로 유지합니다. 이 대기 상태 후에 MSMQ Listener Adapter는 대기열의 새 메시지를 감지 할 때 해당 서비스를 "깨우기"않는 경우가 있습니다. 대개 net.msmq 리스너 어댑터의 계정에 서비스의 구성된 대기열에 대한 권한이 없기 때문입니다.

net.tcp 리스너 어댑터가 MSMQ 문제와 비슷한 방식으로 들어오는 TCP 요청을 처리하기 위해 새로운 서비스 인스턴스를 시작하지 못하는 것으로 보입니다. 문제를 해결하려면 서비스를 호스팅하는 서버에서 TCPView을 사용하여 서비스가 활성화되어 있고 IIS가 서비스를 중지 할 수있을만큼 오래 동안 비활성 상태가 된 후에 들어오는 요청을 확인하십시오. 또한 작업 관리자에 속한 Resource Monitor을 사용하여 클라이언트 호출이 발생할 때 네트워크 리소스를 사용하는 프로세스를 확인할 수 있습니다. net.tcp 리스너 어댑터 서비스가 네트워크 트래픽을 수신하는지 확인하십시오.

net.tcp 리스너 어댑터가 서비스 끝점에 대한 TCP 트래픽 수신시 WCF 서비스 인스턴스를 시작하지 않는다는 것이 기본적인 문제인 것처럼 보입니다. 내 클라이언트는 netTcpBinding에 대해 구성된 많은 서비스를 가지고 있지만 과거에는이 문제가 있었던 것을 기억하지 못합니다. 따라서 net-tcp 리스너 어댑터 또는 IIS의 웹 사이트/웹 응용 프로그램 구성이 올바르지 않은지 의심 스럽습니다.

+0

IIs 75를 사용하여 내 서비스를 호스트하고 Net.Tcp 리스너 어댑터가 실행 중인지 확인합니다. 또한 내 IIS 고급 설정에서 ebaled net.tcp 프로토콜. 나는 여전히 ttcp 끝점에서 서비스 메서드를 호출하려고 할 때 avtication 예외가 나타납니다. IIS에서 응용 프로그램 풀을 재생하고 http 끝점에서 서비스 메서드를 호출하면 서비스가 활성화되고 서비스가 활성화됩니다. appl pool을 재활용하고 TCP 끝점에서 호출을 시도하는 것은 예외없이 작동합니다. 왜 tcp endpoint가 서비스를 활성화시키지 않는지 잘 모르겠습니다. – 8GB

+0

감사합니다. 나는 이것이 내 문제를 해결하는 데 도움이 될 것 같아요. – 8GB