netTcpBinding을 사용하여 자체 호스팅 WCF 서비스를 만들었습니다. WinForm 기반 클라이언트를 사용하여이 서비스에 연결합니다. 나는 클라이언트가 가동되어 실행되는 동안 WCF 서비스에 연결이 끊어지는 것을 관찰했다.클라이언트가 연결을 시도 할 때 WCF 서비스 호스트가 "TCP error 10061 - connection refused"를 반환합니다.
이 문제를 해결하려면 연결을 유지하는 스레드를 만들었습니다. 클라이언트가 앉아서 약 일주일 후 내 로그에 오류 메시지가 나타납니다. TCP 연결 오류 10061 - 클라이언트가 연결을 거부했습니다. 연결 유지 스레드는 연결 개체를 다시 만들 수 없습니다. 로그에는 여전히 "연결이 거부되었습니다"라는 메시지가 표시됩니다.
서비스 호스트에 대한 구성 파일에 기본 주소는 있지만 끝점 주소는 없습니다. MSDN에서는 끝점 주소가 제공되지 않으면 끝점 주소가 Open 메서드가 호출 될 때 기본 주소가됩니다.
"TCP 연결 거부 됨"문제를 해결하기 위해 여전히 끝점 주소를 제공해야합니까?
미리 조언 해 주셔서 감사합니다.
감사합니다. – Subbu
내 응용 프로그램의 디자인은 서비스 호스트가 비동기 메시지를 클라이언트에 다시 보내야하는 것과 같습니다. 클라이언트 측 프록시를 닫을 경우 WCF 서비스에서 비동기 호출을 어떻게받을 수 있습니까?서비스가 고객에게 다시 전화 할 수있는 또 다른 방법이 있습니까? – Subbu
@Subbu : 글쎄, 당신이 질문에 그 중요한 비트를 언급하지 않았다! 양방향 통신이 필요한 경우 .NET 예외로 인해 채널에 문제가 발생하지 않도록주의해야합니다. –