이중 TCP 연결을 허용하는 WCF 채팅 서비스가 있습니다. 단일 이중 tcp 연결을 사용하여 둘 이상의 사용자에 대한 메시지를 보내고받을 수 있습니다 (따라서 모든 사용자가 서로 연결되는 여러 채팅 서버를 가질 수 있습니다).ASP.Net을 Wcf/Tcp 채팅 서비스에 연결
이제 웹 사용자를 믹스에 추가하여 데스크톱 사용자와 채팅 할 수있게하려고합니다. 이것은 라이브 지원 유형의 것입니다. 기본적으로 ASP.Net에서 "out of band"통신을 수행하는 가장 좋은 방법을이 채팅 서비스에서 찾으려고합니다.
나는 채팅 서버 중 하나에 정적/글로벌 이중 연결을 할 수 있다고 생각하고 ASP.Net 서버에 대한 모든 요청에 사용할 수 있다고 생각했습니다. 이게 효과가 있니? 이중 연결은 모든 단방향 호출이며,이 WCF 채널을 잠그지 않고도 사용할 수 있습니까?
업데이트 : 지금까지 의견을 보내 주셔서 감사합니다. 내가 알아야 할 점은 : 채팅 서비스가 자체 호스팅되어 IIS에서 실행되고 있지 않다는 것입니다. 따라서 저는 주로 응용 프로그램이 언로드 될 때까지 IIS가 연결을 유지하도록하는 방법에 관심이 있습니다. 웹 브라우저에서 IIS 로의 연결은 실버 라이트, 플래시, 아약스, iframe 등입니다.
네 말이 맞아. 듀플렉스 서비스에 대한 연결마다 양방향 메시지 큐 또는 두 개의 개별 메시지 큐를 수행해야합니다. 또한 ReaderWriterLockSlim을 사용하여 wcfDuplexClients의 POOL을 성장 및 축소하고 정적/전역 컬렉션에 저장하는 것을 고려했습니다. –
풀의 각 wcfDuplexClient는 자신의 in/out 메시지 큐를 가질 수 있습니다. 그래서, 나는 ReaderWriterLockSlim을 읽거나, wcfDuplexClient를 잡고, (wcfDuplexClient.sendLock) {wcfDuplexClient.Send (myCommand); } 등 –
세션 당 전용 채널에 대해 계속 생각해보십시오. 그것은 아직 최선의 방법 일 수 있습니다. –