메서드가 수행된 후 아래와 같이 비동기 호출 콜백 함수(MyMethodCallback)가 수행되면서
EndMyMethod로부터 수행 결과를 받아써야 했습니다.
실버라이트 2
실버라이트 2에서는 이벤트 방식으로 변경이 되어, 일관성 있어지고, 사용이 쉬워졌습니다.
일단 Web Reference 가 Service Reference로 개념이 바뀌었습니다.
만든 Web Service를 Add Service Reference 하셔서 쓰시면 됩니다.
자신이 등록한 WebService Class 이름을 namespace로 하는 *SoapClient 인스턴스를 만들어 사용합니다.
그럼 아래 이벤트 핸들러에서 결과를 받아서 씁니다.
Tag : Silverlight2, 실버라이트2, 웹서비스
Tag : navigate, Silverlight, 실버라이트
이벤트 핸들러는 다음과 같이 사용합니다. (e.Result는 Stream)
void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
MediaElement media = new MediaElement();
media.SetSource(e.Result);
LayoutRoot.Children.Add(media);
media.Play();
}
DownloadStringAsync
특히 받아올 파일이 xml파일 등 Text 형식이면 이 메서드를 씁니다.
이벤트 핸들러는 다음과 같이 사용합니다. (e.Result는 String)
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
XmlReader xr = XmlReader.Create(new StringReader(e.Result));
//...
}
네임스페이스
zip파일로 Packaging 해 놓고 Part를 뽑아 쓸 경우는 Microsoft Silverlight 2 SDK Help의
Microsoft Silverlight 2 SDK
- Silverlight 2 Beta 1 - Development with the .NET Framework
- Core Presentation Framework / UI
- Fundamentals
- Downloading Content on Demand
부분을 참고 하시기 바랍니다.
Tag : Downloader, Silverlight2, WebClient, 마이그레이션, 실버라이트2
Tag : 1.1 마이그레이션, DispatcherTimer, HtmlTimer, Silverlight2, 실버라이트2
이벤트 핸들러
void bitmap_DownloadProgress(object sender, DownloadProgressEventArgs e)
{
BitmapImage bitmap = sender as BitmapImage;
if (e.Progress == 1)
{
// 다 받아졌다!
}
}
Tag : 1.1마이그레이션, BitmapImage, image, Silverlight2, 실버라이트2
Tag : 1.1마이그레이션, Application.Current.Host.Content, BrowserHost, IsFullScreen, resize, Silverlight2, 실버라이트2