Aracılığıyla paylaş


TrackingService.GetProfile Yöntem

Tanım

Türetilmiş sınıfta geçersiz kılınması gerekir ve uygulandığında, belirtilen iş akışı örneği veya iş akışı türü için izleme profilini alır.

Aşırı Yüklemeler

GetProfile(Guid)

Türetilmiş sınıfta geçersiz kılınmalıdır ve uygulandığında, belirtilen iş akışı örneği için izleme profilini döndürür.

GetProfile(Type, Version)

Türetilmiş sınıfta geçersiz kılınmalıdır ve uygulandığında, belirtilen iş akışı Typeiçin sürüme göre nitelenmiş izleme profilini döndürür.

Açıklamalar

İzleme hizmeti, belirli iş akışı türleri ve belirli iş akışı örnekleri için kullanılabilen izleme profillerini yönetmekle sorumludur. Bu yönetimi istediğiniz şekilde uygulayabilirsiniz. Örneğin, her iş akışı ve iş akışı örneği için aynı TrackingProfile değeri döndürebilir veya iş akışı örneği, iş Type akışı Typeve Versiontarafından başvuruda bulunılan gelişmiş izleme profilleri depolarını yönetebilirsiniz.

GetProfile(Guid)

Türetilmiş sınıfta geçersiz kılınmalıdır ve uygulandığında, belirtilen iş akışı örneği için izleme profilini döndürür.

protected public:
 abstract System::Workflow::Runtime::Tracking::TrackingProfile ^ GetProfile(Guid workflowInstanceId);
protected internal abstract System.Workflow.Runtime.Tracking.TrackingProfile GetProfile (Guid workflowInstanceId);
abstract member GetProfile : Guid -> System.Workflow.Runtime.Tracking.TrackingProfile
Protected Friend MustOverride Function GetProfile (workflowInstanceId As Guid) As TrackingProfile

Parametreler

workflowInstanceId
Guid

Guid İş akışı örneğinin örneği.

Döndürülenler

Belirtilen iş akışı örneği için izleme profili.

Örnekler

Aşağıdaki örnekte yönteminin bir uygulaması gösterilmektedir GetProfile . Bu örnekte, yönteminin GetProfile birkaç aşırı yüklemesi, sabit kodlanmış, varsayılan izleme profili döndüren tek bir özel GetProfile yöntemi çağırır. Bu örnek Sonlandırma İzleme Hizmeti SDK'sı örneğinden alınmalıdır. Daha fazla bilgi için bkz . Sonlandırma İzleme Hizmeti Örneği.

/// <summary>
/// Returns a static tracking profile that only tracks instance terminated events.
/// </summary>
protected override TrackingProfile GetProfile(Guid workflowInstanceId)
{
    return GetProfile();
}
private volatile static TrackingProfile profile = null;
private bool sourceExists = false;
private TrackingProfile GetProfile()
{
    //
    // We shouldn't hit this point without the host ignoring an earlier exception.
    // However if we're here and the source doesn't exist we can't function.
    // Throwing an exception from here will block instance creation
    // but that is better than failing silently on termination
    // and having the admin think everything is OK because the event log is clear.
    if (!sourceExists)
        throw new InvalidOperationException(string.Format(System.Globalization.CultureInfo.InvariantCulture, "EventLog Source with the name '{0}' does not exist", source));

    //
    // The profile for this instance will never change
    if (null == profile)
    {
        lock (typeof(TerminationTrackingService))
        {
            if (null == profile)
            {
                profile = new TrackingProfile();
                profile.Version = new Version("3.0.0.0");
                WorkflowTrackPoint point = new WorkflowTrackPoint();
                point.MatchingLocation = new WorkflowTrackingLocation();
                point.MatchingLocation.Events.Add(TrackingWorkflowEvent.Terminated);
                profile.WorkflowTrackPoints.Add(point);
            }
        }
    }
    return profile;
}
'/ <summary>
'/ Returns a Shared tracking profile that only tracks instance terminated events.
'/ </summary>
Protected Overrides Function GetProfile(ByVal workflowInstanceId As Guid) As TrackingProfile
    Return GetProfile()
End Function

Private Shared profile As TrackingProfile = Nothing
Private sourceExists As Boolean = False
Private Overloads Function GetProfile() As TrackingProfile

    '
    ' We shouldn't hit me point without the host ignoring an earlier exception.
    ' However if we're here and the source doesn't exist we can't function.
    ' Throwing an exception from here will block instance creation
    ' but that is better than failing silently on termination 
    ' and having the admin think everything is OK because the event log is clear.
    If Not sourceExists Then
        Throw New InvalidOperationException(String.Format(System.Globalization.CultureInfo.InvariantCulture, "EventLog Source with the name '0}' does not exist", source))
    End If
    '
    ' The profile for me instance will never change
    If profile Is Nothing Then

        SyncLock (GetType(TerminationTrackingService))

            If profile Is Nothing Then

                profile = New TrackingProfile()
                profile.Version = New Version("3.0.0.0")
                Dim point As New WorkflowTrackPoint()
                point.MatchingLocation = New WorkflowTrackingLocation()
                point.MatchingLocation.Events.Add(TrackingWorkflowEvent.Terminated)
                profile.WorkflowTrackPoints.Add(point)
            End If
        End SyncLock

    End If

    Return profile
End Function

Açıklamalar

İzleme hizmeti, belirli iş akışı türleri ve belirli iş akışı örnekleri için kullanılabilen izleme profillerini yönetmekle sorumludur. Bu yönetimi istediğiniz şekilde uygulayabilirsiniz. Örneğin, her iş akışı ve iş akışı örneği için aynı TrackingProfile değeri döndürebilir veya iş akışı örneği, iş Type akışı Typeve Versiontarafından başvuruda bulunılan gelişmiş izleme profilleri depolarını yönetebilirsiniz.

Şunlara uygulanır

GetProfile(Type, Version)

Türetilmiş sınıfta geçersiz kılınmalıdır ve uygulandığında, belirtilen iş akışı Typeiçin sürüme göre nitelenmiş izleme profilini döndürür.

protected public:
 abstract System::Workflow::Runtime::Tracking::TrackingProfile ^ GetProfile(Type ^ workflowType, Version ^ profileVersionId);
protected internal abstract System.Workflow.Runtime.Tracking.TrackingProfile GetProfile (Type workflowType, Version profileVersionId);
abstract member GetProfile : Type * Version -> System.Workflow.Runtime.Tracking.TrackingProfile
Protected Friend MustOverride Function GetProfile (workflowType As Type, profileVersionId As Version) As TrackingProfile

Parametreler

workflowType
Type

Type İş akışının.

profileVersionId
Version

Version İzleme profilinin.

Döndürülenler

Belirtilen iş akışı türü için izleme profili.

Açıklamalar

İzleme hizmeti, belirli iş akışı türleri ve belirli iş akışı örnekleri için kullanılabilen izleme profillerini yönetmekle sorumludur. Bu yönetimi istediğiniz şekilde uygulayabilirsiniz. Örneğin, her iş akışı ve iş akışı örneği için aynı TrackingProfile değeri döndürebilir veya iş akışı örneği, iş Type akışı Typeve Versiontarafından başvuruda bulunılan gelişmiş izleme profilleri depolarını yönetebilirsiniz.

Şunlara uygulanır