2009-08-04 1 views
4

폴링을 사용하여 웹 서버에 연결된 클라이언트와 같은 일부 소스의 업데이트를 확인할 수 있습니다. WCF는 양방향 계약 방식에서 멋진 기능을 제공합니다. 이중에서 클라이언트에 대한 연결을 유지하고 원하는대로 연결을 호출 할 수 있습니다. 사무실의 친구들이 두 솔루션의 장점에 대해 논의하고 있었으며 각 전략이 가장 잘 사용될 때 피드백을 받고 싶었습니다.(웹 서비스 컨텍스트에서) 폴링 또는 폴링하지 않음

답변

2

폴링 대신 이벤트 기반 메커니즘을 사용합니다. WCF에서는 Juval Lowy가 자신의 웹 사이트에서 제공하는 Publish-Subscribe 프레임 워크 인 IDesign.net을 따라 쉽게이 작업을 수행 할 수 있습니다.

2

보유한 사용자의 수에 따라 결정됩니다.

1,000,000 명의 사용자가 있다고해서 많은 세션을 유지 관리하는 데 문제가 있다고 가정 해보십시오.

그러나 시스템이 1000 폴링 요청에 응답 할 수 있다면 각 클라이언트는 매 1000 초마다 폴링 할 수 있습니다.

0

나는 쉬라즈가 이것을 찍었다 고 생각하지만, 두 가지 더 말하고 싶다.

  1. 양방향 계약서에 문제가 있습니다. 오리를 연속적으로 가지고 있어야합니다. 콜백 채널 ... 이 열려 있는지 확인하십시오. 등입니다. IDesign.net의 내용은 배관의 최소 금액이 일 것입니다. 코드 을 포함해야합니다.
  2. 이 솔루션 에 대한 이해 (이 특정 상황에서만 적합)를 만드는 경우, 바인딩 MSMQ는 (양면처럼) 비동기 방식으로 서비스 에 데이터를 전송하는 하지만 서비스를 클라이언트를 할 수 있습니다 메시지에 대해 "폴링"하지 않습니다 ... 이 일부 언더 커버 배관을 통해 대기열에 들어가면 알림을받습니다. 통신 의 대부분은 편도 경우

    당신이 주위 통신을 설정하는 힘의이 종류는 (클라이언트, 서버가 클라이언트가됩니다 서버가됩니다), 그러나 이 혜택을 많이 을 제공한다. 다른 이점은 입니다. 여기에 메시지가 있습니다. 서버가 이고 메시지를 놓치지 않을 수 있습니다 ... 온라인으로 돌아 오면 메시지가 나타납니다.

무언가에 대해 생각해보십시오.

+0

또한 MSMQ와의 양방향 통신이 필요한 경우 두 끝점을 별도로 구현해야합니다. 서비스에는 클라이언트와 서비스가 있고 클라이언트에는 서비스와 클라이언트가 있습니다 (그런 식으로 메시지를 보내고받을 수 있음). –