2012-03-27 5 views
0

저희 회사는 고객에게 음악 서비스를 임대합니다. 이 제품은 자동화 된 mp3 플레이어와 매일 자신의 컴퓨터에 다운로드 된 costumers 음악 라이브러리 (mp3 노래)의 갱신/업데이트로 구성됩니다. 지금까지 우리는 GBridge를 사용하여 서버 및 클라이언트 폴더를 동기화하여 mp3 업데이트에 대한 추악한 솔루션을 사용합니다. 이것은 우리가 고객이 우리 음악 라이브러리 (현재 25.000 곡)를 다운로드하도록 강요하는 반면 대부분은 음악 카테고리 (팝, 록 등)의 모든 곡을 재생하지 않을 것이기 때문에 분명히 단점입니다. 가장 중요한 점은 경쟁사가 저렴한 가격으로 카테고리별로 패킷을 제공하면서 구독 패킷 (전체 뮤직 라이브러리)을 하나만 제공 할 수 있다는 것입니다. 이러한 이유로 우리는 WCF로 전환하기로 결정했습니다.내 서비스에 대해 신뢰할 수있는 세션이 실제로 필요합니까? (내 설명)

이 서비스는 PerCall 인스턴스 모드를 사용하며 고전적인 요청 - 응답 패턴을 사용하여 winform 클라이언트 응용 프로그램에서 호출되는 두 가지 작업을 구현합니다.

첫 번째 작업은 클라이언트가 다운로드 할 수있는 범주 (요청)를 데이터베이스에서 검색하고 클라이언트에이 범주 목록 (회신)을 다시 보냅니다.

두 번째 작업은 다운로드에 사용됩니다. 클라이언트는 먼저 xml 버전의 서버 데이터베이스를 다운로드합니다. 비슷한 XML이 클라이언트 측에 있습니다. 클라이언트 응용 프로그램은 첫 번째 작업에서 반환 된 각 범주에서 서버 xml 파일과 비교하여 자신의 xml에없는 노래를 확인합니다. 누락 된 파일 (XML에있는 요소)이 있으면 누락 된 파일을 한 번에 하나씩 다운로드합니다. 각 다운로드 후에 클라이언트는 자신의 XML을 업데이트하고 모든 파일 (요소)이 2 xml에서 일치 할 때까지 동일한 비교를 다시 수행합니다.

서비스의 인스 턴싱 모드가 처리량상의 이유로 PerCall이고 메모리 소비를 낮게 유지하고 내 작업 모두에서 요청 - 응답 패턴을 사용한다는 점을 고려하면 간단합니다. 이는 응답 메시지가 클라이언트로 다시 전송됨을 의미합니다 서비스의 각 응답과 함께 연결에 문제가 있거나 클라이언트가 서비스에 연결할 수없는 경우 클라이언트에서 CommunicationObjectFaultedException을 잡을 수 있습니다. 프록시를 재구성하고 재 시도하면 신뢰할 수있는 세션이 필요하다고 생각합니까? 서비스 구현? 방금 설명한 작업에서 신뢰할 수있는 세션이없는 경우 어떤 문제가 발생할 수 있습니까?

답변

0

방금 ​​설명한 작업에서 안정적인 세션이없는 경우 어떤 문제가 발생할 수 있습니까?

신뢰할 수있는 세션으로 해결되는 문제는 거의 없지만 서버에 많은 스트레스를 가하고 있습니다.

믿을만한 세션없이 개인적으로 BasicHttpBinding (상호 운용성 향상을 위해)을 가겠습니다. 신뢰할 수있는 세션을 이해하기 위해


UPDATE

thisthis의 읽기 있습니다.

다른 은행에서 송금하는 경우 신뢰할 수있는 세션을 사용하는 것이 좋습니다. 이렇게하면 관련된 최종 당사자가 메시지를 수신하게됩니다. 그러나 대부분의 경우, 당신은 그것을 필요하지 않을 것입니다.

+0

나는 아직 보안 문제를 다루지 않았지만 솔직히 말해서 WCF는 아직 공부하고 배우기에 새로운 브랜드입니다. BasicHttpBinding의 기본 보안 프로필로 내 서비스가 충분하다고 생각합니까? – Pantelis

+0

@Pantelis 답변을 업데이트했습니다.BasicHttpBinding은 널리 사용 가능한 HTTPS를 사용하여 보안을 설정할 수 있으므로 내 최고의 선택입니다. – Aliostad

+0

답장을 보내 주셔서 감사합니다. 이렇게하면 파일을 버퍼링하는 대신 스트리밍 할 수 있으므로 작업이 단순 해 지므로 서버 리소스 소비가 최소화됩니다. – Pantelis