3

Silverlight를 사용하여 스레딩을 사용하고 DOM을 조작하고 Comet과 같은 기능을 구현하는 등의 작업을 웹 페이지를 향상시키는 데 사용할 수있는 방법을 보여주는 온라인 자료를 많이 보았습니다.Silverlight HTML-JS-DOM Bridge : 실제 사용 사례?

그러나 나는 많은 것을 발견 할 수없는 것처럼 모든 사람이 공유하는 실제 사용 사례를 얻었습니다.

답변

4

확실히. 몇 가지 이유로 HTML DOM 상호 작용을 사용했습니다.

먼저, 기존 ASP.NET 응용 프로그램을 Silverlight로 마이그레이션 할 때. 우리가 함께 작업 한 아키텍처에서 애플리케이션은 AJAX 기반이었고 많은 콜백이있었습니다. Silverlight 용 휠을 다시 개발하는 대신 DOM 상호 작용을 사용하여 브리지를 제공함으로써 Silverlight 컨트롤이 비슷한 방식으로 콜백 할 수있었습니다. 이것은 ASP.NET 보안 및 viewstate 정보를 사용하여 서버에서 정보를 가져 와서 Silverlight 응용 프로그램으로 가져 오는 것을 의미합니다. 우리는 이미 JSON 형식으로 데이터를 반환 했으므로 Silverlight 응용 프로그램으로 다시 파싱하는 것이 간단했습니다.

다른 예는 타사 컨트롤 및 서비스와의 상호 작용입니다. 예를 들어 Google 웹 로그 분석은 풍부한 페이지 추적 기능을 제공합니다. 응용 프로그램을 통합 할 수 있습니다 당신은 실버 라이트에서 실행되는 경우에도, 당신은 본질적으로 클릭, 작업 및 페이지 뷰를 추적

http://silverlightanalytics.codeplex.com/

:이 프로젝트는 좋은 예를 제공합니다.

다른 곳에서는 Silverlight를 응용 프로그램으로 사용하지 않고 페이지의 일부 또는 컨트롤을 더 많이 사용했습니다. Silverlight 컨트롤은 로컬 통신을 사용하여 서로 통신 할 수 있지만 다른 Silverlight 컨트롤과는 작동하지 않습니다. HTML-DOM 브리지를 사용하면 구성 요소간에 JavaScript 기반 통신을 쉽게 구축 할 수 있습니다. 예를 들어 Silverlight 컨트롤은 지역을 탐색 할 수있는 대화 형 세계지도입니다. 영역을 선택하면 다른 컨트롤이 해당 원인을 기반으로 수신 대기하고 업데이트하는 JavaScript 이벤트가 발생합니다.

양식에서 DOM 브리지를 사용하여 Silverlight 응용 프로그램에 대한 사용자 입력의 유효성을 검사하는 Captcha 컨트롤과 같은 컨트롤로 Silverlight를 사용할 수도 있습니다.

Silverlight 컨트롤이 DOM 상호 작용을 사용하여 현재 페이지를 탐색 한 다음이를 기반으로 태그의 애니메이션 구름을 생성하는 태그 클라우드 응용 프로그램을 보았습니다.

이러한 정보가 실제 사례를 제공하기를 바랍니다.

1

DOM-Bridge를 사용해 본 한 가지는 이벤트를 발생시키는 것입니다. 내 응용 프로그램을 호스팅하는 html 페이지는 이러한 이벤트에 가입하고 결과적으로 반응합니다.

예를 들어, 내 응용 프로그램은 WCF 웹 서비스에서 오는 판매 데이터를 받고 표시합니다. 데이터가 변경되면 나머지 페이지가 다른 것을 표시 할 수 있도록 이벤트가 발생합니다.

ASP.Net을 사용할 수없는 경우 웹 서비스에서 데이터를 묻고받는 것이 Silverlight에서 JavaScript보다 훨씬 쉽고 오류가 발생하기 쉽습니다 (최적화 된 "binary-xml" 인코더).

DOM 브릿지는 백엔드 환경에서 가정을 할 수는 없지만 SL 앱과 상호 작용할 수있는 능력을 제공해야하는 임의의 웹 사이트에 실버 라이트 앱을 임베드 할 때 가장 유용하다고 생각합니다.

+0

정보 주셔서 감사합니다. 그물에있는 모든 자습서는 거의 실제적인 예가없는 기본적인 "실버에서 JS 호출"또는 그 반대의 경우에 초점을 맞추는 것처럼 보입니다. – RekrowYnapmoc