Dies ist die fragliche Methode:
public void StartBatchProcessing(IFileBatch fileBatch)
{
var dataWarehouseFactsMerger = m_dataWarehouseFactsMergerFactory.Create(fileBatch);
dataWarehouseFactsMerger.Merge();
if(!m_isTaskStarted)
{
m_isTaskStarted = true;
m_lastQueuedBatchProcessingTask = new TaskFactory().StartNew(() => ProcessBatch(dataWarehouseFactsMerger));
}
else
{
m_lastQueuedBatchProcessingTask = m_lastQueuedBatchProcessingTask.ContinueWith(previous => ProcessBatch(dataWarehouseFactsMerger));
}
}
Wie Sie sehen, verwende ich TPL, um Aufgaben nacheinander in die Warteschlange zu stellen, und ich würde gerne testen, ob die Aufgaben in der Reihenfolge ausgeführt werden, in der sie eintreffen, sobald die vorherige abgeschlossen ist.
Die ProcessBatch-Methode ist geschützt, daher denke ich, dass sie in einer abgeleiteten Klasse überschrieben und verwendet werden kann, um einige Flags zu setzen oder etwas zu überprüfen.
Alle Ideen sind willkommen und werden geschätzt.