Silverlight/Lecture 23

(Firefox에서) 실버라이트 런타임 또 깔으라고 나오는 경우 중 하나!

조금 황당한 경우입니다. 이런 문제를 마주치시더라도 당황하지 마세요. 아시는 바와 같이 Visual Studio에서 실버라이트 프로젝트를 생성하면 *.aspx 와 *.html 견본페이지가 생성됩니다. 특히 *.html 페이지에 보면 object를 사용하여 실버라이트를 호스팅하는 부분이 있습니다. 보통 아래와 같습니다. 첫줄에 제가 빨간 색으로 표시한 부분이 보이시나요? object태그의 data 속성이 data:application/x-silverlight,입니다. 끝에 ,(comma)가 있습니다. 이거 함부로 없애시면 안됩니다. ^^;;; IE에서는 문제 없습니다. 하지만 Firefox(Firefox 2 and 3)에서는 저 comma 함부로 떼면, 실버라이트 런타임을 또 깔으라고 하네요. 이.상.하...

Silverlight/Lecture 2008.08.14 (6)

Namespace와 LINQ to XML

string xml에 위의 내용이 들어있다고 가정하고, XDocument xDoc = XDocument.Parse(xml); 위와 같이 xDoc을 준비해 놓고, XML데이터에서 Style을 돌면서 x:Key의 Value값만 쏙쏙 뽑아내는 LINQ구문을 작성한다면 어떻게 하시겠습니까? 오답 첨엔 막연히 이렇게 해봤습니다. var result = from c in xDoc.Descendants("Style") select (string)c.Attribute("x:Key").Value; 네, 에러가 납니다. Attribute의 이름에는 콜론(:)을 추가할 수 없습니다. Attribute메서드의 파라미터는 XName이구요. XName을 생성할 때 콜론(:)이 들어간 문자열을 허용하지 않기 때문입니다. 정답 XN..

Silverlight/Lecture 2008.07.24 (2)

[SL2 B2] Socket 사용을 위한 Policy Server 만들기

개요 Silverlight 2 Beta 2에서 Socket을 사용할 때 Cross-Domain에 있는 소켓 서버에 접속을 하려면 서버 측의 정책을 확인하는 과정이 필요하게 된 것 아시죠? 다시말해, 실버라이트 런타임이 943번 포트를 통해 실버라이트 정책 파일을 요청하면, 서버 쪽에서는 정책파일을 보내줘야 하는데요. 며칠 전 공도씨가 [MSDN] 네트워크 보안 접근 제약란 제목의 장문의 번역글을 포스팅했습니다. 그 내용의 하단에 보시면 그런 역할을 하는 서버를 만드는 방법이 소개되어 있습니다. [소켓을 위한 정책 파일 예제]와 [소켓을 위한 정책 서버의 샘플 코드]란 내용이 있구요. Mike Snows의 Tip of the Day #12 - Full Implementation of a Silverligh..

Silverlight/Lecture 2008.07.03

(번역) Detailed Overview of Silverlight 2 Beta 2 Web Service Features

Silverlight WebService Team 블로그에 제가 관심있어 하는 부분에 대한 포스트가 올라와서 번역을 해보았습니다. 원문 : http://blogs.msdn.com/silverlightws/ Duplex Communication (Server Push) LINQ over JSON (번역 전) Configuration Support (번역 전) Tooling Improvements (번역 전) SOAP Improvements (번역 전) Scott이나 Tim의 포스트에서 아마도 읽은 바와 같이, 실버라이트 2 Beta 2는 새롭고 향상된 Web Service 기능들을 제공한다. 이 포스트는 우리 Beta 2 시나리오들을 좀더 상세하고 다룰 것이며, 두 주 가량 이어서 진행하면서, 특정한 기능..

Silverlight/Lecture 2008.06.25

Silverlight 2 Beta2 퍼가기 시, JS 관련 이벤트 무시 문제 해결하기

실버라이트 어플리케이션을 단위로 자기 블로그 등으로(External로) 퍼가기 했을 경우, 원 서비스에서는 잘 되던 기능들이 잘 작동 안하는 경우가 있습니다. 애용하는 MouseWheelHelper의 휠 이벤트가 발생 안하고, WebClient 사용시 메서드 수행후 비동기 콜백이 발생하지 않는 문제가 있었습니다. 박스마일이 해결책을 찾아보려 백방으로 뛰어 보았지만, 쉽게해결이 되지 않아, 실버라이트 포럼에 질문을 올렸고, Sergey Volk MSFT가 답변을 올려줬네요. 그 해결책에 대한 내용을 이과장님이 네이버 실버라이트 카페에 정리를 해주셨는데요. http://cafe.naver.com/ArticleRead.nhn?clubid=13624133&articleid=2537 약간 내용을 달리하여 정리해 ..

Silverlight/Lecture 2008.06.16

[SL2 B2] Beta2 이전 시대의 DeepZoom 데이터를 위한 심폐소생술

CPR for DeepZoom Data of Silverlight 2 Beta1 era. 서론 Beta2가 릴리즈 되고나니 보이시던 DeepZoom Data가 보이시지 않으십니까? 새 DeepZoom Composer로 다시 Export를 하려고 했는데 원본이미지가 없으십니까? 걱정하지 마십시오! 다음과 같은 방법으로 예전 딥줌이미지를 재활용 하실 수 있습니다. :) 이 포스트는 원본이 없어져서 새로운 DeepZoom Composer로 다시 Export 하실 수 없는 분이나, 이미 대량의 이미지를 생성해 놓은 상태여서 재활용하고 싶으신 분에게 유익합니다. 주의. Composition 방식으로 Export된 데이터에 대한 변환 팁입니다. (Collection에 대한 변환 팁이 아닙니다.) 데이터 변환 Ste..

Silverlight/Lecture 2008.06.07

Unix Timestamp와 .NET DateTime 간의 상호변환

Unix Timestamp를 .NET DateTime으로 변환할 때 static DateTime ConvertFromUnixTimestamp(int timestamp) { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); return origin.AddSeconds((double)timestamp); } .NET DateTime을 Unix Timestamp로 변환할 때 static int ConvertToUnixTimestamp(DateTime date) { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); TimeSpan diff = date - origin; return (int)Math.Floor(d..

Silverlight/Lecture 2008.05.09

WebClient의 DownloadString에서 Result의 문자가 깨질 때 해결방법.

실버라이트에서도 WebClient 이용해서 쉽게 OpenAPI의 XML 데이터 따위를 읽어올 수 있습니다. (실버라이트에서는 비동기만 지원) 그런데 가끔 UTF-8 등으로 인코딩된 XML 파일을 읽을 때 Result의 Unicode 문자들이 깨져 있는 것을 경험하실 겁니다. 이때의 해결방법은 간단합니다. WebClient에는 Encoding이란 프로퍼티가 있기 때문입니다. WebClient wc = new WebClient() { Encoding = Encoding.UTF8 }; 또는 클래식한 표현으로는 아래와 같이... WebClient wc = new WebClient(); wc.Encoding = Encoding.UTF8; 해주시면 준비완료!

Silverlight/Lecture 2008.05.07

버추얼 어스 맵타일을 직접(Direct)사용할 때, 주의사항

On term of use 실버라이트, WPF, 플래시 등에서 버추얼 어스 플랫폼을 이용할 때, 개발자는 각 맵 이미지 타일의 URL을 사용하여 이미지를 직접적으로 호출합니다. LOGI-CRAFTS도 이미지 직접 호출을 하고 있었습니다. 이때, 사용규약(Term of use)에 문제가 없으려면 어떤 조치를 취해줘야 한다고 합니다. Chris Pendleton의 블로그에 Tracking Virtual Earth Tile Usage란 포스트를 참고하였습니다. (Boxmile에게서 전달받았습니다. ^^) 바람직한 맵타일 이미지 URL 사용하는 이미지 타일 주소에 token 이란 파라미터가 추가되어야 하며, http://h0.ortho.tiles.virtualearth.net/tiles/h023131022213..

Silverlight/Lecture 2008.05.06