Silverlight/Tips 34

실버라이트 OOB 디버깅하기

 OOB OOB는 Out of Browser의 준말로서, 실버라이트 어플리케이션을 데스크탑에 설치 한 형태를 뜻합니다. OOB 상태에서 작동하는 실버라이트 어플리케이션은 웹브라우저에서 구동될 때와 달리 사용자 PC 로컬자원에 부분적으로 접근할 수 있는 등. 할 수 있는 일이 약간 많아진다고 보시면 됩니다. OOB 어플리케이션의 디버깅 많은 개발자들이 [Debug - Attach Process...]메뉴를 이용하여 실버라이트 OOB의 프로세스인 SLLauncher.exe 프로세스를 선택한 다음 디버깅을 합니다. 하지만 이 방법의 단점은 이미 Application이 시작된 이후에 Process에 디버거를 붙이기 때문에, App이나 RootVisual의 생성자나 초기에 구동되는 루틴에 대해서는 디버깅을 할 ..

Silverlight/Tips 2010.05.21

ApplicationBar for Windows Phone 7 #WP7

ApplicationBar라는 것은 PhoneApplicationPage에 프로퍼티로 존재합니다. 즉, 페이지마다 다른 ApplicationBar를 준비할 수도 있다는 이야기 입니다. 여기서는 MainPage.xaml에서 ApplicationBar를 사용하는 시나리오로 사용법을 알아봅니다. (페이지마다 공통으로 사용하고 싶은 Global Application Bar를 생각하신다면 App.xaml등에 Resource로 생성하는 것이 좋습니다.) 1) 프로젝트에 Microsoft.Phone.Shell 어셈블리가 참조 되어있나 확인하고, 참조되어 있지 않으면 참조추가를 합니다. 2) MainPage.xaml에 아래 네임스페이스가 추가되어있나 확인하고 없으면 네임스페이스를 추가합니다. xmlns:shell="c..

Silverlight/Tips 2010.04.14

Localization Silverlight : 브라우저 언어설정 참조하기

웹페이지 안에 들어갈 실버라이트 어플리케이션을 Localization 할 경우, 따라야 할 언어 설정은 브라우저의 언어설정입니다. 일단 ASP.NET 페이지와 함께할 경우를 기준으로 설명하겠습니다. 주욱 보시면, PHP 등의 다른 언어와 함께 사용하실 때 취할 수 있는 방법도 생각하실 수 있으실 겁니다. 이 언어설정을 참조하기 위해서는 다음과 같은 과정이 필요합니다. 먼저 *.aspx 페이지 소스에서 맨 윗줄에 아래와 같이 UICulture, Culture 속성을 추가합니다. 다음으로 실버라이트 어플리케이션을 호스트하는 Object 태그 안에 param을 두개 추가합니다. 이렇게 하셨으면 준비완료! 실버라이트 코드에서는 이렇게 전달된 언어설정을 다음과 같이 참조하실 수 있습니다. CultureInfo b..

Silverlight/Tips 2010.03.24

RadControl for Silverlight 4 RC 컴파일 에러 트러블슈팅

저희 개발팀은 Ribbon바 등 몇몇 멋진 컨트롤 때문에 RadControl을 구입해서 사용하고 있습니다. 며칠 전 개발환경을 Silverlight 4 RC와 Visual Studio 2010 RC로 업그레이드하면서, 기존에 사용하고 있던 컨트롤들이 런타임 에러를 발생시키기 시작했습니다. RadControl 개발사인 Telerik 사이트에 로그인을 해보면, Silverlight 4 RC용 빌드가 인스톨러 없이 바이너리만 업로드 되어있는 것을 확인할 수 있습니다. "아싸"를 외치면 다운로드를 받아서 종전에 쓰던 Silverlight 4 Beta용 Dll들을 갈아치웠는데, 컴파일을 하는 순간 이상한 에러가 뜨는 것이 었습니다. Error 1 The "CompileXaml" task failed unexpec..

Silverlight/Tips 2010.03.24

Silverlight 4 Business Application Beta에서 RC로 마이그레이션 하는 방법

보통은 Beta 프로덕트로 프로젝트를 진행하는 것은 금기시 됩니다. 하지만 어떡합니까? 마음은 급하고 가끔 진행 할 수도 있지요. ^^;; Silverlight 4 Beta에서 작업한 Business Application 솔루션을 Silverlight 4 RC에서 열면, 변환없이 잘 열립니다. 다만 컴파일 에러가 여럿 발생합니다. 그럴 땐 당황하지 마시고 아래와 같이 조치하시면 소중한 솔루션을 살려내실 수 있습니다. 제일 먼저 하실 것은 Clean입니다. 기존에 컴파일 되면서 Bin폴더 등에 Copy 되어있던 예전 어셈블리의 잔재를 제거하는 것이지요. 그런데 Clean Project가 잘 작동 안할 겁니다. 로컬 디렉토리를 찾아다니시면서 지우시는게 확실합니다. 웹(*.Web) 프로젝트에서 1. 프로젝트의..

Silverlight/Tips 2010.03.23

WCF RIA Service에서 DomainService에 기본 Method 4종을 추가하는 Code Snippet

실버라이트 개발자 여러분 안녕하세요! DomainService를 만들어서 잘 사용하고 있다보면 신규 테이블을 추가하게 되는 순간이 있습니다. 그러면 ADO.NET Entity Data Model (*.edbx)을 Update Model from Database하는 것만으로 Proxy Class는 생성은 성공입니다. 하지만! 이미 사용하고 있던 DomainService에 새 테이블에 대한 기본 CRUD 메서드들은 손쉽게 추가해 줄 방법은 없습니다. 기본 CRUD 메서드 public IQueryable GetSomethings() public void InsertSomething(Something something) public void UpdateSomething(Something currentSometh..

Silverlight/Tips 2010.02.04

[Tip] VS2010에서 XAML 파일에 오른쪽 클릭했는데 Blend 연결 메뉴가 없을 때

Silverlight 4 Beta 개발 환경을 구축하다보면, Visual Studio 2010에 Microsoft Expression Blend 4 Integration이 제대로 안되어 있습니다. XAML 파일에 오른쪽 클릭을 하면 Open in Expression Blend가 당연히 있어야 하는데, 없다는 것이죠. 그럴 때는 간단히 다음의 Registry 파일을 실행시켜 주시면 됩니다. Blend 3가 만들어 놓은 관계를 조금 수정하여 만들어냄. (자신의 소중한 레지스트리를 Export 해준 몽키천하님에게 감사합니다.) 레지스트리 다운로드 Blend4IntegrationForVS2010Beta.reg 주의: 위 팁은 Visual Studio 2010 Beta 2와 Microsoft Expression ..

Silverlight/Tips 2010.02.02

[Tip] Silverlight 4 Beta Tools 설치 중 오류를 만났을 때

혹은 WCF RIA Services for VS2010이 언인스톨 되지 않을 때라고 표현하면 되겠습니다. 문제의 발단 저는 Silverlight 4 Beta Tools를 설치하다가 다음과 같은 오류를 만났습니다. 그래서 log file을 열어서 살펴보니 WCF RIA Services를 설치하다가 발생한 오류였습니다. 다른 버전이 이미 설치가 되어있다니, '그럼 친히 삭제해줘야겠군' 생각하고 [제어판 > 프로그램 추가/삭제]에서 삭제를 시도하였는데, 불사신처럼 지워지지 않았습니다. 해결책 포럼을 뒤져본 결과 민간요법이 제시되어 있었습니다. 그대로 따라해 본 결과 효과가 있었습니다. 1. 프로그램 추가 삭제에서 WCF RIA Services Beta를 삭제 합니다. (아마도 생략 가능합니다. 지우려고 해도 ..

Silverlight/Tips 2010.02.01

실버라이트에서 JSON 데이터 활용하기

LINQ to JSON 개념으로 JSON 데이터를 활용할 수 있습니다. Codeplex에 이러한 의도로 여러 프로젝트가 생성이 되어 있습니다만, 꾸준히 업데이트가 이루어지고 있고 가장 많이 다운로드가 이루어진 것은 Jame Newtonking씨가 이끄는 Json.NET입니다. 라이브러리를 다운로드 받아보면, 섭섭하지 않게 실버라이트를 위한 솔루션도 포함되어 있습니다. 솔루션을 여신 후, 프로젝트 구성을 참조하여 자신의 프로젝트에 포함시켜서 사용하시거나 빌드 후에 필요한 dll만 얻어서 사용하셔도 되겠죠? ^^ 또, 같이 포함된 Documentation.chm에 설명이 아주 충실하게 되어있어서 완전 편합니다. 프로젝트에서 사용하는 데이터가 JSON을 통해서 전달이 되어야 할 때 유용하겠습니다.

Silverlight/Tips 2010.01.31

ASP.NET 웹서비스 세션유지 실버라이트에선 되는데 WinForm에서 안될 때!

문제(Trouble) 한가지 웹서비스를 만들어 놓고 여러가지 클라이언트를 지원하는 일은 일상다반사이지요. 그런데 실버라이트에서는 세션유지가 잘 되는데, WinForm에서 사용하려고 하면 세션유지가 잘 안되어서 자꾸 로그인이 안 되었다고 에러를 반환하는 일을 겪어보시지 않으셨나요? 아래와 같이 세션을 사용하는 간단한 웹서비스를 생각해 볼 수 있습니다. public class Service1 : System.Web.Services.WebService { [WebMethod(EnableSession=true)] public void WriteToSession(string value) { HttpContext.Current.Session["WrittenValue"] = value; } [WebMethod(Ena..

Silverlight/Tips 2010.01.13