檔案系統監看員活動範例

Download sample

本範例會示範如何建立可以用來接聽檔案系統事件的活動。這個範例說明在開發會接聽檔案系統事件的活動 (例如在特定資料夾中建立檔案) 時的佇列使用方式。

這個範例包含自訂服務,這項服務可讓 FileWatcher 活動針對特定種類的檔案系統事件註冊。當這類事件發生時,此服務便會將事件傳遞給活動。

FileWatcher 活動已撰寫成能夠自行運作,以及在 EventDrivenActivity 父活動中發揮作用。這樣便使 FileWatcher 活動能夠用於像是 ListenActivity 的活動中。本範例所提供的範例工作流程中將說明這點。

FileWatcher 活動可以設定為具有 Path、Filter、NotifyFilter,以及表示是否應該考慮指定之 Path 的子目錄的 bool 值。這些屬性會構成特定種類檔案系統事件的「訂閱」。

建置範例

  1. 按一下 [下載範例] 來下載範例。

    這樣會將範例專案擷取到本機硬碟上。

  2. 按一下 [開始],並依序指向 [程式集] 和 [Microsoft Windows SDK],再按一下 [CMD 殼層]。

  3. 移至範例的來源目錄。

  4. 在命令提示字元上,輸入 MSBUILD <Solution file name>

執行範例

  1. 建立資料夾 C:\temp 和 C:\temp2 (如果它們尚未存在)。

  2. 在 [SDK 命令提示字元] 視窗中,於 FileWatcherTestHost\bin\debug 資料夾 (若是範例的 VB 版本,則是 FileWatcherTestHost\bin 資料夾) 中執行此 .exe 檔,該資料夾位於範例的主要資料夾下方。

  3. 將某個檔案拖曳到您的 C:\temp 目錄中。

    這樣就會造成要傳遞到工作流程中第一個 FileWatcher 活動的事件。

  4. 將某個檔案拖曳到您的 C:\temp2 目錄中。

    這樣就會造成要傳遞到工作流程中第二個 FileWatcher 活動的事件。ListenActivity 活動的一個分支含有 20 秒鐘的延遲。如果檔案沒有在該時間範圍內放入 C:\temp2 資料夾中,工作流程便會繼續進行至下一個步驟。

  5. 將某個檔案拖曳到您的 C:\temp 目錄中。

    這樣就會造成要傳遞到工作流程中第三個 FileWatcher 活動的事件。

請參閱

參考

Activity
DependencyProperty

其他資源

Creating a Custom Activity
自訂活動範例
同步化範例

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.