1

현재 "때때로 연결이 끊어진"모드에서 작동해야하는 스마트 클라이언트 응용 프로그램 (WPF)을 설계하고 있습니다. 오프라인 시나리오의 경우, 내가 사용 찾고 있어요 :XCOPY- 관리자 권한 시나리오 (즉, ClickOnce 설치)에서 Microsoft Sync Framework 배포

  • 끊김 서비스 에이전트 응용 프로그램 블록 (스마트 클라이언트 소프트웨어 공장에서)
  • 마이크로 소프트 싱크 프레임 워크

내가 원하는 언급해야 내 스마트 클라이언트 응용 프로그램은 기본적으로 ClickOnce 배포 응용 프로그램 인 관리 권한이없는 XCOPY 배포, 자동 업데이트 및 설치가 가능합니다. 내가 말할 수있는 것은 이것이 클라이언트에 관리자 권한이 필요한 등록 된 COM을 가지고 있기 때문에 Microsoft Sync Framework가 종료되었음을 의미합니다. ClickOnce 앱에서 MSF를 XCOPY로 배포하고 실행할 수 있습니까? 데이터 동기화를위한 다른 아이디어?

답변

1

왜 Sync Framework를 사용하겠습니까? 잘 작동하는 특정 유스 케이스가 있습니까?

DSA는 서비스 호출을 쌓아 올리면 연결이 가능 해지면 해당 서비스를 호출하기 시작합니다. 그것은 당신이 정말로 동기화 할 수있는 것이 아닙니다.

지난 두 번의 Smart Client 앱에서 수행 한 작업은 참조 데이터와 같은 항목을 '동기화'하기위한 간단한 수동 구현이었습니다. 동기화 된 항목은 DSA (동기화는 논리적으로 연결된 모드에서만 발생합니다)를 통과하지 않습니다.

우리는 동기화가 필요한 데이터의 각 '조각'을 클라이언트 측에서 마지막으로 동기화 한 날짜와 시간을 저장합니다. 동기화하려면 'type'조각을 마지막으로 업데이트 된 시간으로 보내면 서버는 새 항목과 업데이트 된 항목의 델타를 되돌려 보냅니다. 삭제 된 항목의 대소 문자는 처리하지 못하지만 일반적으로 어렵습니다.

내 현재 응용 프로그램에서는이 데이터가 충분하기 때문에이 데이터를 동기화 할 수 있지만 이전 시스템에서는 각각의 '조각'을 업데이트해야하는 경우 (예 : every 중요하지 않은 항목의 경우 24 시간, 중요한 항목의 경우 1 시간) 필요한 경우 비동기 적으로 동기화를 시작합니다.

약간의 추가 작업 클라이언트 및 서버 측이지만 정직하게 말하자면 일부 외부 프레임 워크를 얻으려는 노력보다 효과적이지 않습니다. 특히 해당 프레임 워크를 Clickonce 배포 패키지에 배치 할 수없는 경우 더욱 그렇습니다.

앱을 가끔 연결하면 시스템의 복잡성이 크게 높아집니다.

1

MSF는 admin 설치가 필요합니다. ADO.NET의 이전 버전과 달리 나날의 일상 생활을 귀찮게합니다.