WCF, .NET 4.5, Visual Studio 2015를 사용하고 싱글 톤이 아닌 세션 별 인스턴스화를 사용하려고합니다. 제공되는 서비스는 tcp.net을 통해 전이중 방식으로 이루어집니다.WCF - 특정 인스턴스에 연결하는 방법
나는이 기계가 있다고 가정 클라이언트와 같은 & B ...
B는 같은 기계 B에 WCF 서비스로 제공되는 "서비스"에 연결하고 개체를 호출, 그것을 이야기 시작 "엑스". 또한 동일한 서비스의 다른 인스턴스에 연결하여 객체 "Y"라고합니다.
A는 클라이언트로서 B가 말하고있는 것과 정확히 동일한 객체에 연결하려고합니다. 객체 "X"와 "Y" 지금은 원격지가 아닌 원격지가 아닌 원격지입니다.
"X"와 "Y"는 실제로 비디오 서버이며 둘 다 "상태"를 가지고 있습니다.
이 작업을 수행 할 수 있습니까? 내가 클라이언트 일 때 어떻게 연결할 서비스 인스턴스를 지정합니까?
분명히 "B"컴퓨터에서 "B"를 실행하는 일부 프로세스와 통신하는 "상태"가없는 프론트 엔드로 서비스를 제공함으로써이 문제를 해결할 수는 있지만, 프로세스 코드의, 내가 싫어.
머신 B는 로컬 마스터 (싱글 톤) 서비스에 의해 각각 이야기되고 최종 사용자 시스템이 말하는 "비디오 서버"인스턴스 100 대를 실행해야합니다.
나는이 질문이 약간 일반적인 것임을 알았지 만, Internets에서 내가 찾거나 대답 할 수없는 질문을 제시한다.
나는 단지 하나의 가능한 해결책을 생각했지만, kludge-y 해결책 : 마스터 서비스가 싱글 톤이기 때문에 최종 사용자가 서비스 인스턴스 "X"를 만들 때, 싱글 톤 마스터 서비스에 연결할 수 있습니다. 싱글 톤 프록시. 그런 다음 싱글 톤은 콜백 채널을 통해 번을으로 "X"인스턴스로 말할 수 있습니다. 그래, 그게 효과가있을거야! 지저분한,하지만 가능합니다.
최종 사용자 A와 최종 사용자 B가 모두 펑키 한 채널 조작이나 무언가를 통해 컴퓨터 C에서 동일한 (비 - 싱글 톤) 서비스 인스턴스와 대화 할 수 있는지 알고 싶습니다. WCF의 규칙을 이해하기 때문에이 작업은 간단하지 않습니다. 아마 어쩌면 당신이 직접 서비스를 호스팅하는 경우 IIS 대신하지만, 그때도 가능하지 않을까?