2010-02-18 2 views
4

현재 약 25 명의 테스트 고객이있는 매우 반복적 인 개발 모드에서 SL3 프로젝트를 실행 중입니다. 하루에 약 4 개의 새로운 빌드 클립에서 작은 변경 작업을 수행하고 있습니다. 이 응용 프로그램이이 25 명의 사람들에게 중요한 업무용 라인임을 알리는 것이 중요합니다. 하루 종일 업무를 수행하는 데 사용하는 도구이므로 끊임없이 사용하고 있으며 아침과 오후에 브라우저와 응용 프로그램을 자주 실행합니다. 하루가 끝날 때까지.적극적으로 사용되는 실버 라이트 배포를 업데이트하는 최상의 방법

도전 과제는 응용 프로그램을 업데이트 할 때 사용자에게 알릴 청정한 방법이 없다는 것입니다. 대부분의 경우 데이터 계약 변경이나 고전적인 내용을 소개하는 경우는 드뭅니다. '깨는'앱/서비스로의 변경. 사용자는 계속 연결되며 다음에 새로 고침 할 때 변경 사항을 받게됩니다. 지금 우리는 모든 사람을 이메일 및 새로 고침을 강제하거나 브라우저를 닫고 다시 로그인하라고 말씀에 의지했다.

확실히 더 나은 방법이

... 생각의

지금 내 기차 클라이언트 xap 버전을 비교하고 사용중인 클라이언트가 최신 버전인지 확인하는 메소드가 서버에있는 것입니다. 그렇다면 사용자에게 알리고 업데이트하도록 할 것입니다.

이 문제를 해결하기 위해 수행 한 작업은 무엇입니까?

답변

1

푸시 메커니즘을 사용하는 한 가지 방법은 (나는 Kaazing Websoocket Gateway를 사용했지만 어떤 것이 든 할 것이다). XAP의 새 버전이 릴리스되면 XAP 파일 변경 이벤트에 의해 트리거 된 관리자 또는 자동으로 시스템에 입력 된 메시지가 모든 클라이언트에 전송됩니다. 가장 단순한 시나리오에서는 사용자에게 알림이 표시되고 (새 버전이 릴리스되고 응용 프로그램을 새로 고침해야 함) 응용 프로그램이 새로 고쳐지면서 (단순히 페이지를 다시로드하여) 필요한 경우 사용자 상태를 저장합니다.

0

이렇게하면 간단하게 유지할 수 있습니다. web.config의 구성 값 및 해당 값을 반환하는 해당 서비스 메소드 (값 자체는 아무거나 될 수 있지만 카운터는 현명합니다). 그런 다음 Silverlight 응용 프로그램에서 정기적으로 해당 서비스 방법을 폴링하도록 설정할 수 있습니다. 값이 변경 될 때마다 (새 버전을 배포 할 때 수동으로 수행), 브라우저를 새로 고치거나 로그인/로그 아웃하라는 대화 상자가 나타납니다. 이렇게하면 이 없어 매번 새로 고칩니다. 당신이 xap 파일 버전을 비교한다는 생각을 가지고 있다면, 항상 깨지지 않는 변경 사항들에 대해서도 새로 고침이 요구됩니다.

더 자세히 알고 싶다면 다른 심각도 수준을 구별 할 수있는 메커니즘을 생각해 낼 수 있습니다. 예를 들어 새 구성 값에 "update_forced"문자열이 포함되어있는 경우 사용자가 자동으로 로그 아웃하여 앱을 다시로드하도록 할 수 있습니다 (다소 가혹한 경우). 문자열에 "update_recommended"가 포함되어 있으면 오른쪽 상단 모서리에 새 버전이 있고 자신의 시간에 업그레이드해야한다는 작은 아이콘을 표시하십시오.

0

이 옵션은 Silverlight 3을 대상으로했지만 PollingDuplex 클라이언트 등 최신 버전의 Silverlight에서는 "지금 업데이트"비트를 클라이언트에 게시하고 클라이언트에 메커니즘을 작성하여 사용자가 곧바로 업데이트해야하는 업데이트가 있다는 것입니다. 직렬화 등을 통해 앱을 닫아 앱을 다시로드 할 때의 상태를 저장할 수도 있습니다.

우리가 작성한 LOB 응용 프로그램과 비슷한 작업을 수행 했으므로 사용자가 변경하면 나머지 사용자베이스에서도 즉시 변경 내용을 볼 수 있습니다.다음 단계는 권한 부여 및 업그레이드를 "즉시"변경할 수있는 플래그를 넣는 것입니다.