디스패처를 통한 일기 예보 서비스 시뮬레이션 샘플

업데이트: 2007년 11월

이 샘플에서는 차단 작업을 유지하여 응용 프로그램이 응답하지 않는 것을 방지하는 방법을 보여 줍니다.

이 샘플에서는 원격 리소스를 쿼리하는 날씨 예보 서비스 응용 프로그램을 시뮬레이션합니다. 응용 프로그램이 원격 리소스를 쿼리하는 동안 UI에서는 항상 응답해야 합니다. 이렇게 하기 위해 백그라운드 스레드에서는 정보를 검색하고 해당 작업이 완료되면 UI 스레드의 디스패처로 작업을 푸시합니다.

백그라운드 스레드는 대리자 개체에서 BeginInvoke를 호출하여 만듭니다. 즉, threadpool 스레드를 사용하는 비동기 호출이기 때문에 스레드를 만들기 위해 다른 작업을 수행할 필요가 없습니다.

원격 서비스에 대한 연결 지연은 작업자 스레드를 중지시켜 시뮬레이션합니다. 작업이 완료되면 다른 작업을 UI 스레드의 Dispatcher에 푸시하여 일기 예보의 정보로 UI를 업데이트합니다.

또한 이 샘플에서는 애니메이션 및 스토리보드를 보여 줍니다. 애니메이션의 시작 및 중지는 코드 숨김에서 처리되는 반면 대부분의 애니메이션은 XAML 파일에 정의됩니다.

이 샘플에 대한 자세한 내용은 스레딩 모델 항목을 참조하십시오,

이 샘플에서는 Windows Presentation Foundation의 특정 기능에 대해 설명하므로 최선의 응용 프로그램 개발 방법을 따르지 않습니다. WPF(Windows Presentation Foundation) 및 Microsoft .NET Framework 응용 프로그램 개발을 위한 최선의 방법에 대한 자세한 내용은 다음에서 적절한 항목을 참조하십시오.

내게 필요한 옵션 - 액세스 가능성에 대한 유용한 정보

지역화 - WPF 전역화 및 지역화 개요

성능 - WPF 응용 프로그램 성능 최적화

보안 - Windows Presentation Foundation 보안

Download sample

샘플 빌드

  • Windows SDK(소프트웨어 개발 키트)를 설치하고 빌드 환경 명령 창을 엽니다. 시작 메뉴에서 모든 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.

  • SDK(소프트웨어 개발 키트) 설명서 등에서 샘플을 하드 디스크 드라이브로 다운로드합니다.

  • 빌드 환경 명령 창에서 샘플을 빌드하려면 샘플의 소스 디렉터리로 이동합니다. 명령 프롬프트에 MSBUILD를 입력합니다.

  • Microsoft Visual Studio에서 샘플을 빌드하려면 샘플 솔루션이나 프로젝트 파일을 로드한 다음 Ctrl+Shift+B를 누릅니다.

샘플 실행

  • 빌드 환경 명령 창에서 컴파일된 샘플을 실행하려면 샘플 소스 코드 폴더 아래에 있는 Bin\Debug 또는 Bin\Release 폴더의 .exe 파일을 실행합니다.

  • Visual Studio에서 디버깅 기능을 사용하여 컴파일된 샘플을 실행하려면 F5 키를 누릅니다.

참고 항목

작업

장기 실행 계산 기능이 있는 단일 스레드 응용 프로그램 샘플

다중 스레딩 웹 브라우저 샘플

Disable Command Source via System Timer 샘플

개념

스레딩 모델