TrackingChannel.Send(TrackingRecord) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při implementaci v odvozené třídě odešle na TrackingRecord TrackingChannel.
protected public:
abstract void Send(System::Workflow::Runtime::Tracking::TrackingRecord ^ record);
protected internal abstract void Send (System.Workflow.Runtime.Tracking.TrackingRecord record);
abstract member Send : System.Workflow.Runtime.Tracking.TrackingRecord -> unit
Protected Friend MustOverride Sub Send (record As TrackingRecord)
Parametry
- record
- TrackingRecord
Odeslání TrackingRecord .
Příklady
Následující příklad ukazuje implementaci metody Send. V této implementaci se sledovací zprávy zapisují do protokolu událostí při ukončení pracovního postupu. Tato ukázka je z ukázky sady SDK pro sledování ukončení. Další informace najdete v tématu Ukázka služby sledování ukončení.
/// <summary>
/// Receives tracking events. Instance terminated events are written to the event log.
/// </summary>
protected override void Send(TrackingRecord record)
{
WorkflowTrackingRecord instanceTrackingRecord = record as WorkflowTrackingRecord;
if ((null == instanceTrackingRecord) || (TrackingWorkflowEvent.Terminated != instanceTrackingRecord.TrackingWorkflowEvent))
return;
// Create an EventLog instance and assign its source.
EventLog log = new EventLog();
log.Source = sourceValue;
// Write an informational entry to the event log.
TrackingWorkflowTerminatedEventArgs terminatedEventArgs = instanceTrackingRecord.EventArgs as TrackingWorkflowTerminatedEventArgs;
StringBuilder message = new StringBuilder(512);
message.AppendLine(string.Format(System.Globalization.CultureInfo.InvariantCulture, "Workflow instance {0} has been terminated.", parametersValue.InstanceId.ToString()));
message.AppendLine();
if (null != terminatedEventArgs.Exception)
message.AppendLine(terminatedEventArgs.Exception.ToString());
log.WriteEntry(message.ToString(), EventLogEntryType.Warning);
}
'/ <summary>
'/ Receives tracking events. Instance terminated events are written to the event log.
'/ </summary>
Protected Overrides Sub Send(ByVal record As TrackingRecord)
Dim instanceTrackingRecord As WorkflowTrackingRecord = CType(record, WorkflowTrackingRecord)
If instanceTrackingRecord Is Nothing Or Not TrackingWorkflowEvent.Terminated = instanceTrackingRecord.TrackingWorkflowEvent Then
Return
End If
' Create an EventLog instance and assign its source.
Dim log As New EventLog()
log.Source = sourceValue
' Write an informational entry to the event log.
Dim terminatedEventArgs As TrackingWorkflowTerminatedEventArgs = CType(instanceTrackingRecord.EventArgs, TrackingWorkflowTerminatedEventArgs)
Dim Message As New StringBuilder(512)
Message.AppendLine(String.Format(System.Globalization.CultureInfo.InvariantCulture, "Workflow instance 0} has been terminated.", parametersValue.InstanceId.ToString()))
Message.AppendLine()
If terminatedEventArgs.Exception Is Nothing Then
Message.AppendLine(terminatedEventArgs.Exception.ToString())
End If
log.WriteEntry(Message.ToString(), EventLogEntryType.Warning)
End Sub
Poznámky
Volání Send infrastruktury sledování modulu runtime, která doručí TrackingChannel TrackingRecord, když odpovídá bodu sledování v určitém TrackingProfilebodu . Informace o sledování odeslané TrackingChannel na základě požadavků vaší aplikace můžete zacházet jakýmkoli způsobem.