决不轻言放弃,否则对不起自己

永不言败

导航

创建简单的TrackingProfile

TrackingProfile是用于控制要跟踪的内容。

/// <summary>

/// 创建简单的TrackingProfile,该TrackingProfile只跟踪CodeActivity。

/// </summary>

static void CreateSimpleTrackingProfile()

{

    
// 实例化TrackingProfile

    TrackingProfile myProfile 
= new TrackingProfile();

    
// 开始登记要跟踪的Activity

    ActivityTrackPoint myTrackPoint 
= new ActivityTrackPoint();

    
// 说明只跟踪CodeActivity类型。

    ActivityTrackingLocation myLocation 
= new ActivityTrackingLocation(typeof(CodeActivity));

    
// 如果要跟踪所有的Activity,则应传入Activity类型。如:

    
// ActivityTrackingLocation myLocation = new ActivityTrackingLocation(typeof(Activity));

    
// MatchDerivedTypes属性表示是否要适配传入的追踪类型。个人认为如果MatchDerivedTypes属性值为假,则继承于需要跟踪类型(本例中为CodeActivity)的子类都会被跟踪,如果为false,则只跟踪需要跟踪的类型,不跟踪它的子类。

    myLocation.MatchDerivedTypes 
= false;

    
// 添加要跟踪的Activity事件

    myLocation.ExecutionStatusEvents.Add(ActivityExecutionStatus.Initialized);

    myLocation.ExecutionStatusEvents.Add(ActivityExecutionStatus.Executing);

    myLocation.ExecutionStatusEvents.Add(ActivityExecutionStatus.Closed);

    myTrackPoint.MatchingLocations.Add(myLocation);

    myProfile.ActivityTrackPoints.Add(myTrackPoint);

 

    
// 设置TrackingProfile版本

    myProfile.Version 
= new Version("1.0.0.0");

    
// 对TrackingProfile进行序列化

    TrackingProfileSerializer trackingProfileSerializer 
= new TrackingProfileSerializer();

    StringBuilder trackingProfileString 
= new StringBuilder();

    
using (StringWriter writer = new StringWriter(trackingProfileString, CultureInfo.InvariantCulture))

    {

        trackingProfileSerializer.Serialize(writer, myProfile);

        
// 将序列化后的信息输出到控制台,可以在此将TrackingProfile信息添加到文件或数据库中

        Console.WriteLine(writer.ToString());

    }

}

直接在控制台下调用该方法,就可以得到如下的结果:


致于TrackingProfile将如何的应用在自定义的TrackingServiceSqlTrackingService中,将在以后进行分析。

posted on 2007-06-06 09:32  XDS  阅读(317)  评论(0编辑  收藏  举报