AlterEventLifetime(TPayload)-Methode
Ändert die Lebensdauer der Ereignisse im Datenstrom. Diese Methode kann sowohl die Startzeit als auch die Endzeit eines Ereignisses ändern.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Syntax
public static CepStream<TPayload> AlterEventLifetime<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent, DateTime>> startTimeFunc,
Expression<Func<CepEvent<TPayload>, TimeSpan>> lifeTimeFunc
)
Typparameter
- TPayload
Der Typ der Eingabeereignisnutzlast.
Parameter
- source
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Der Eingabedatenstrom.
- startTimeFunc
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent, DateTime> ) > ) >> ) > ) >
Eine Funktion, die die neue Ereignisstartzeit für ein bestimmtes Ereignis definiert.
- lifeTimeFunc
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent< (Of < ( <'TPayload> ) > ) >, TimeSpan> ) > ) >> ) > ) >
Eine Funktion, die die neue Ereignislebensdauer für ein bestimmtes Ereignis definiert.
Rückgabewert
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Ein neuer Datenstrom mit geänderter Ereignislebensdauer.
Hinweis zur Verwendung
In Visual Basic und C# können Sie die Methode als Instanzenmethode für jedes Objekt vom Typ CepStream< (Of < ( <'TPayload> ) > ) > aufrufen. Wenn Sie Instanzmethodensyntax zum Aufruf dieser Methode verwenden, vernachlässigen Sie den ersten Parameter. Weitere Informationen finden Sie unter https://msdn.microsoft.com/de-de/library/bb384936(v=sql.105) oder https://msdn.microsoft.com/de-de/library/bb383977(v=sql.105).
Hinweise
Weitere Informationen finden Sie unter Zeitstempeländerungen.
Beispiele
Im folgenden Beispiel wird die Ereigniszeit um 1 Minute in die Vergangenheit verlagert, die Endzeit des Ereignisses bleibt jedoch unverändert (durch das Hinzufügen einer zusätzlichen Minute zur ursprünglichen Lebensdauer), wenn die neue Lebensdauer als zweiter Parameter angegeben wird.
// shift event 1 minute into the past, but leave the end time (event duration) unchanged.
var newStream = inputStream.AlterEventLifetime(e => e.StartTime - TimeSpan.FromMinutes(1),
e => e.EndTime - e.StartTime + TimeSpan.FromMinutes(1));