成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解WF 4.0 beta1中的跟蹤參與者

開發 開發工具
本文將解釋WF 4.0 beta1中的跟蹤參與者(Tracking Participants)是如何工作的、以及如何使用跟蹤參與者來處理和存儲工作流放出的跟蹤記錄。我們還將介紹現成的Event Tracing for Windows(ETW) 跟蹤參與者以及如何通過它在事件查看器中查看跟蹤記錄。

在之前的文章中,我們簡單的介紹了WF 4.0 beta1中的跟蹤機制,并且深入介紹了WF 4.0 beta1的跟蹤配置。

你還可以通過試驗下面的示例來獲得更多WF 4.0 beta1跟蹤機制的動手經驗。本文所使用的示例包含在下面的資源中:

WCF and WF samples for .NET 4 Beta 1

ETW tracking participant sample

跟蹤參與者概覽

正如《WF 4.0 beta1中的跟蹤機制》所述,WF 4.0的跟蹤基礎結構由3個主要的組件構成:

跟蹤記錄:由工作流運行時放出。
跟蹤賬戶:允許你以聲明性、靈活的方式來訂閱跟蹤記錄。
跟蹤參與者:直接監聽運行時放出的跟蹤記錄,并以根據選擇的方式來處理它們。這種處理包括寫入到特定的輸出(比如文件、控制臺、ETW)、處理/匯總這些記錄、或者其他方式的組合。

跟蹤記錄流程

在WF 4.0 中,多個跟蹤參與者可以同時消費跟蹤事件。每個跟蹤參與者都可以關聯到一個不同的跟蹤配置。

跟蹤參與者用于獲取工作流放出的跟蹤數據,并將它們存儲到不同的媒介中。所以,跟蹤記錄的任何后期處理也可以通過跟蹤參與者來完成。在將來的文章中,我們會介紹WF 4.0跟蹤基礎結構完整的可擴展性,包括便攜自定義跟蹤參與者。

現成的ETW跟蹤參與者
在.NET 4中,我們內置了一個現成的Event Tracing for Windows(ETW) 跟蹤參與者,它可以將跟蹤記錄輸出到ETW。ETW跟蹤參與者會將這些記錄寫入到一個ETW會話中,寫入的方式非常高效,對應用性能的影響也非常小。

使用跟蹤參與者的優勢之一便是可以在Windows事件查看器中查看跟蹤記錄,就在“應用程序”分類和“系統”分類的旁邊。

下面是在Web.config文件中配置ETW跟蹤參與者的示例:

  1. <configuration> 
  2. <system.web> 
  3. <compilation targetFrameworkMoniker=".NETFramework,Version=v4.0"/> 
  4. </system.web> 
  5. <system.serviceModel> 
  6. <diagnostics etwProviderId="52A3165D-4AD9-405C-B1E8-7D9A257EAC9F" /> 
  7. <tracking> 
  8. <participants> 
  9. <add name="EtwTrackingParticipant" 
  10. type="System.Activities.Tracking.EtwTrackingParticipant, System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
  11. profileName="HealthMonitoring_Tracking_Profile"/> 
  12. </participants> 
  13. </tracking> 
  14. <behaviors> 
  15. <serviceBehaviors> 
  16. <behavior name="SampleTrackingSample.SampleWFBehavior"> 
  17. <trackingComponents> 
  18. <add name="EtwTrackingParticipant"/> 
  19. </trackingComponents> 
  20. </behavior> 
  21. </serviceBehaviors> 
  22. </behaviors> 
  23. </system.serviceModel> 
  24. </configuration> 

在ETW中,事件是通過Provider Id來寫入到ETW會話中的。ETW跟蹤參與者所使用的Provider Id定義于Web.config的diagnostics節(在<system.serviceModel><diagnostics>中):

  1. <system.serviceModel> 
  2. <diagnostics etwProviderId="52A3165D-4AD9-405C-B1E8-7D9A257EAC9F" /> 
  3. …  

在沒有指定Provider Id時,ETW跟蹤參與者會使用一個默認的Provider Id。

跟蹤參與者定義于<system.serviceModel><tracking><participants>節。每個跟蹤參與者都有一個與之關聯的配置,藉此來制定它所訂閱的跟蹤記錄:

  1. <system.serviceModel> 
  2. …  
  3. <tracking> 
  4. <participants> 
  5. <add name="EtwTrackingParticipant" 
  6. type="System.Activities.Tracking.EtwTrackingParticipant, System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
  7. profileName="HealthMonitoring_Tracking_Profile"/> 
  8. </participants> 
  9. </tracking> 
  10. … 

定義好它們之后,就可以把跟蹤參與者添加到服務行為中。這會把選中的跟蹤參與者添加到工作流實例的擴展中,它們就這樣開始接收跟蹤記錄了。

為此,我們只需要像這樣來使用之前步驟中定義的跟蹤參與者名稱:

  1. <behaviors> 
  2. <serviceBehaviors> 
  3. <behavior name="SampleTrackingSample.SampleWFBehavior"> 
  4. <trackingComponents> 
  5. <add name="EtwTrackingParticipant"/> 
  6. </trackingComponents> 
  7. </behavior> 
  8. </serviceBehaviors> 
  9. </behaviors>  

下圖闡述了跟蹤數據經過ETW跟蹤參與者的流轉過程:

 

跟蹤數據經過ETW跟蹤參與者的流轉過程

一旦跟蹤數據到達了ETW會話中,就能夠以多種方式來消費它。最常使用的方法之一是通過事件查看器來消費這些事件,事件查看器是一個用來查看來自應用程序和服務的日志與跟蹤記錄的Windows工具。

在事件查看器中消費來自ETW跟蹤參與者的跟蹤數據
由ETW跟蹤參與者寫入到ETW會話中的事件可以被事件查看器消費(當使用默認Provider Id時)。這就允許快速地查看工作流放出的跟蹤記錄。

在事件查看器中啟用跟蹤記錄的方法如下:

打開事件查看器(eventvwr.exe)

定位到“應用程序和服務日志”>“Microsoft”>“WCF”>“WF-Development”

右鍵單擊并選擇“Show Analytic and Debug logs”來啟用查看

啟用日志

在ETW Tracking Participant Sample中,工作流模擬了出錯的情況,ETW跟蹤參與者則用來跟蹤這個問題。下圖顯示了事件查看器中的跟蹤事件: 

事件查看器中的跟蹤事件

所有跟蹤記錄都擁有從100-112的ETW事件ID。其他事件ID(200-225)則用于其他類型的追蹤(Tracing)(比如WCF追蹤)。在將來的文章中,我們會全面地介紹與監視數據視圖相關的追蹤和跟蹤事件。

通過EW跟蹤參與者放出的跟蹤記錄還會在事件查看器中顯示適當的安全級別。這樣就能夠很輕松地識別工作流執行過程中出現的任何警告或者錯誤。

.NET 4.0 beta1通過使用ETW跟蹤參與者以及它與事件查看器的集成,使得消費跟蹤記錄變得又快捷又輕松。

預告

在將來的文章中,我們還會介紹自定義跟蹤參與者和如何放出自定義跟蹤記錄。與此同時,我們也期待您對以下示例和動手實驗的反饋:

WCF and WF samples for .NET 4 Beta 1

ETW tracking participant sample

【編輯推薦】

  1. 淺談WF 4.0 Beta1中的 跟蹤機制
  2. WF4.0 Beta1中的規則引擎變化
  3. 淺談WF 4.0 beta1的跟蹤配置
  4. 詳解工作流架構與實現
  5. 解析UML工作流管理系統
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-06-15 10:20:47

WF 4.0 Beta跟蹤機制

2009-06-22 09:36:06

WF 4.0 beta跟蹤配置

2009-06-17 10:51:58

WF4.0規則引擎

2009-05-20 10:26:09

Visual StudWF微軟

2009-07-28 10:00:47

VS2010 beta

2013-02-26 09:42:09

RailsRuby

2010-01-14 14:12:14

Visual Stud

2010-02-01 09:19:32

WF 4.0

2009-10-28 09:23:27

WF4.0 Beta2

2021-12-01 06:43:36

OT網絡攻擊網絡安全威脅

2009-10-22 08:54:56

WF4 Beta 2

2012-04-16 15:18:15

JythonJVM

2017-07-14 13:17:44

醫療信息化網絡

2009-06-29 10:12:32

軟件測試

2010-01-14 09:35:10

WF4.0

2009-12-01 10:37:45

Hiweed LinuLinuxDeepin

2009-05-20 09:20:29

Visual Stud試用WPF

2021-04-22 10:13:34

鴻蒙HarmonyOS應用

2011-07-06 16:26:32

jQuery Mobi

2018-09-30 11:53:39

開源 操作系統功能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲自拍偷拍免费视频 | 精品久久久久久亚洲精品 | 成人精品免费视频 | 色欧美综合 | 日本在线观看网址 | 欧美国产一区二区 | 欧美99 | 免费视频成人国产精品网站 | 亚洲一区二区久久 | 天堂综合 | 国内自拍视频在线观看 | 中文字幕在线视频免费视频 | 成人精品国产免费网站 | 亚洲一区二区三区视频免费观看 | 久久免费精品视频 | chinese中国真实乱对白 | 人人做人人澡人人爽欧美 | www网站在线观看 | 午夜免费在线 | 成人午夜免费在线视频 | 二区中文字幕 | 中文字幕在线三区 | 久久草在线视频 | 99久久精品免费看国产免费软件 | 毛片视频免费观看 | 久久久精品一区 | 亚洲不卡| 亚洲欧洲精品成人久久奇米网 | 精品久久久久久久久久久久久久 | 久久成人18免费网站 | 中文字幕亚洲区一区二 | 精品视频一区二区三区在线观看 | 天天成人综合网 | 日韩精品免费在线 | 亚洲影音 | 久久草在线视频 | 国产精品高清一区二区三区 | 国产亚洲网站 | av天天澡天天爽天天av | 婷婷去俺也去 | 欧洲高清转码区一二区 |