TrackingChannel.Send(TrackingRecord) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta uygulandığında, üzerinde TrackingChannelbir TrackingRecord gönderir.
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)
Parametreler
- record
- TrackingRecord
TrackingRecord Gönderilecek.
Örnekler
Aşağıdaki örnekte Send yönteminin bir uygulaması gösterilmektedir. Bu uygulamada, bir iş akışı sonlandırıldığında izleme iletileri olay günlüğüne yazılır. Bu örnek Sonlandırma İzleme Hizmeti SDK örneğinden alınmalıdır. Daha fazla bilgi için bkz . Sonlandırma İzleme Hizmeti Örneği.
/// <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
Açıklamalar
Çalışma zamanı izleme altyapısı, içindeki bir izleme noktasıyla TrackingChannel eşleştiğinde üzerinde teslim etmek için çağrısırTrackingProfileSend.TrackingRecord üzerinde TrackingChannel gönderilen izleme bilgilerini, uygulamanızın gereksinimlerine uygun şekilde işleyebilirsiniz.