透過發送器模擬氣象服務範例

更新:2007 年 11 月

這個範例示範如何讓封鎖作業不要執行會造成應用程式沒有回應的動作。

這個範例模擬的氣象服務應用程式會查詢遠端資源。當應用程式在查詢遠端資源時,UI 不應該沒有回應。為了解決這個問題,將由背景執行緒來擷取資訊。當執行緒完成工作時,會將工作推入 UI 執行緒的發送器。

在委派物件上呼叫 BeginInvoke 即可建立背景執行緒。這個非同步呼叫使用 Threadpool 執行緒,因此建立執行緒時不需再做其他工作。

接著讓背景工作執行緒 (Worker Thread) 進入休眠狀態,模擬遠端服務連線發生延遲。當工作完成時,會將另一個工作推入 UI 執行緒的 Dispatcher,以便用氣象預測資訊更新 UI。

本範例也示範動畫和腳本。大部分的動畫是在 XAML 檔案中定義,而動畫的開始和結束則是在程式碼後置中處理。

如需本範例的相關討論,請參閱執行緒模型主題。

這個範例示範 Windows Presentation Foundation 的特定功能,因此並未遵循應用程式開發的最佳做法。如需 Windows Presentation Foundation (WPF) 和 Microsoft .NET Framework 應用程式開發最佳做法的完整內容,請依適當情況參閱下列內容:

協助工具 - 協助工具最佳作法

當地語系化 - WPF 全球化和當地語系化概觀

效能 - 最佳化 WPF 應用程式效能

安全性 - Windows Presentation Foundation 安全性

Download sample

建置範例

  • 安裝 Windows Software Development Kit (SDK),然後開啟 [建置環境命令] 視窗。在 [開始] 功能表中,指向 [所有程式]、[Microsoft Windows SDK],然後按一下 CMD 殼層。

  • 接著,在軟體開發套件 (SDK) 文件處下載軟體,並存至您的硬碟上。

  • 若要組建建置環境命令視窗的範例,您必須先移至範例的來源目錄在命令提示字元中,輸入 MSBUILD。

  • 若要在 Microsoft Visual Studio 中建置範例,請載入範例方案或專案檔,然後按下 CTRL+SHIFT+B。

執行範例

  • 若要在 [建置環境命令視窗] 中執行編譯後的範例,請執行位在包含範例原始程式碼的檔案夾 (Bin\Debug 或 Bin\Release 檔案夾) 下的 .exe 檔案。

  • 若要在 Visual Studio 中執行編譯後的範例並進行偵錯,請按 F5。

請參閱

工作

單一執行緒應用程式與長期執行的計算範例

多執行緒 Web 瀏覽器範例

透過系統計時器停用命令來源範例

概念

執行緒模型