2011-03-02 5 views
9

WCF 듀플렉스 (채팅 서비스 | SMS 서비스)로 미니 프로젝트를 개발 한 후, 정확하지 않을 수도있는 포인트를 얻었습니다 !!WCF Duplex는 좋은 선택입니까?

듀플렉스 이론이 유용하고 유용하다고 생각했지만 Wcf Duplex을 사용하는 데 많은 문제가 있습니다. (신뢰할 수있는 세션, 타임 아웃 예외, 클라이언트 측 주소 관리 - 서버 측, 클라이언트 측 프록시 관리)

나는 틀렸다고 생각하십니까? 내가 놓친 게 있니?

자세한 내용은 wsDualHttpBinding not tcpBinding을 참조하십시오.

답변

14

양방향 통신이 필요하고 WCF를 사용하려는 경우 이중 채널이 필요합니다. 응용 프로그램을 올바르게 디자인하고 설명 된 모든 문제를 올바르게 처리하면됩니다. 이러한 문제가 간접적으로 발생하고 상황이 더욱 악화된다고 생각하면 네트워크 프로그래밍을 직접 (소켓) 사용하거나 양방향 통신을 처리하여 서버에서 별도의 서비스를 노출하고 클라이언트에서 다른 서비스를 노출 할 수 있습니다. -이 시나리오는 WsDualHttpBinding과 같은 통신 문제로 어려움을 겪을 것입니다.

WsDualHttpBinding 자체는 특별한 종류의 양방향 통신입니다. 나는 사람들이 종종 그것을 오용하기 때문에 그것을 개인적으로 좋아하지 않습니다. 문제는이 바인딩이 두 개의 개별 연결을 사용한다는 것입니다. 하나는 클라이언트에서 서버로, 다른 하나는 서버에서 클라이언트로 연결하는 것입니다. 이는 클라이언트에서 서버로 시작된 연결 만 사용되는 net.tcp와 큰 차이가 있습니다. 분명히 각 클라이언트가 방화벽 (컴퓨터, 가정용 인터넷 게이트웨이 등)을 구성하여 일부 포트에서 연결을 허용해야하기 때문에 인터넷을 통해 WsDualHttpBinding을 사용하면 클라이언트 시스템을 제어 할 수 없습니다. 또한 동일한 클라이언트 시스템에서 하나 이상의 응용 프로그램 인스턴스를 실행하려는 경우 각 인스턴스는 자체 포트를 사용해야합니다.

+0

감사합니다 ... 가능한 경우 좋은 팁'Wcf 듀플렉스에 대한 좋은 샘플 게시' – Rev

+0

좋은 샘플이 없으며 항상 현재 요구 사항에 따라 다릅니다. –

관련 문제