分享方式:


從 AppFabric 監控儲存區擷取追蹤的變數

此範例顯示如何使用 Entity Framework 擷取與還原序列化 AppFabric 監控資料庫中所追蹤的工作流程變數。您將會學到可執行此工作的監控資料庫所公開的部分公用檢視。此範例可搭配任何應用程式使用。我們建議通用 AppFabric 範例應用程式,它是建立來搭配 AppFabric 範例使用。若要尋找此應用程式,請瀏覽至 [<samples>\SampleApplication\OrderApplication] 資料夾,其中 <samples> 是您安裝 AppFabric 範例的路徑。

注意

提供的範例僅適用於教學用途。請勿將範例用於生產環境,因為這些範例並未在生產環境中測試。Microsoft 不對這些範例提供技術支援。

必要條件

  • 已設定監控功能的 Microsoft AppFabric 1.1 for Windows Server 安裝

  • 至少一個在 AppFabric 中主控的 WCF 或 WF 服務。

注意

如果服務設定為追蹤複雜類型變數,此範例更能說明監控功能。

如果您從自訂組件還原序列化追蹤的變數,請務必將組件 (例如,AppFabric 範例應用程式) 加入為此專案的參考。

範例檔案

此範例隨附下列檔案:

  • VS 2010 方案結構與支援的程式碼檔案

  • TrackedWFVariable.cs

  • Program.cs

設定並執行此範例

  1. 確定已追蹤變數,並儲存在監控資料庫中。若要這樣做,您可以檢查 WFEventProperties 檢視並確定資料列存在。

  2. 開啟此範例隨附的 Visual Studio 方案。

    重要

    確定您是以具有 AppFabric 監控儲存區讀取權限的帳戶執行。

  3. 編輯 Program.cs 中的 Database 值,使它指向您要的資料庫。

  4. 編輯傳遞到 Program.cs 中的 AppFabricMonitoringEntities 建構函式的值。根據預設值,它會指向 SQL Express 執行個體。為求簡化,標準的 SQL 執行個體名稱已包含於檔案上方。

  5. 按 F5 以建置並執行範例。

了解此範例

Program.cs 使用 Entity Framework 來查詢資料庫中最近的工作流程事件。TrackedWFVariable 類別使用 Entity Framework 資料內容來連線,以擷取和最近的事件相關的任何 WFEventProperty 資料列。屬性接著會還原序列化為原始的 .NET 型別。依據要還原序列化的物件型別而定,此程序會有所不同。

下列型別會以簡單的字串表示法儲存在 WFEventProperties 檢視的 Value 資料行中。

  • System.String

  • System.Char

  • System.Boolean

  • System.Int32

  • System.Int16

  • System.Int64

  • System.UInt32

  • System.UInt16

  • System.UInt64

  • System.Single

  • System.Double

  • System.Guid

  • System.DateTimeOffset

  • System.DateTime

這些型別可透過呼叫這些型別定義的靜態 Parse 方法並以參數傳遞字串值來還原序列化。所有其他型別則將其值儲存於 WFEventProperties 檢視的 ValueBlob 資料行中,且必須使用 System.Runtime.Serialization.NetDataContractSerializer 來還原序列化。這個動作需載入宣告要還原序列化該型別的組件。物件以此方式儲存於資料庫中,因此 SQL 用戶端可以輕鬆查詢上述較簡易的型別。

移除此範例

此範例不會留下任何成品。如有需要,您可以刪除範例檔案。

  2012-03-05