AlterEventDuration(TPayload)-Methode
Ändert die Dauer der Eingabeereignisse. Diese Methode ändert nicht die Startzeit eines Ereignisses.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Syntax
public static CepStream<TPayload> AlterEventDuration<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent<TPayload>, TimeSpan>> eventDurationFunc
)
Typparameter
- TPayload
Der Typ der Eingabeereignisnutzlast.
Parameter
- source
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Der Eingabedatenstrom.
- eventDurationFunc
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent< (Of < ( <'TPayload> ) > ) >, TimeSpan> ) > ) >> ) > ) >
Der Ausdruck, der die neue Ereignisdauer definiert.
Rückgabewert
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Ein Datenstrom mit neuer Ereignisdauer.
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 Ereignisdauer auf 1 Stunde festgelegt.
// set event duration to 1 hour.
var onehour = inputStream.AlterEventDuration(e => TimeSpan.FromHours(1));
Im folgenden Beispiel wird die Ereignisdauer auf das Doppelte der aktuellen Lebensdauer festgelegt.
// double event duration.
var doubled = inputStream.AlterEventDuration(e => (e.EndTime - e.StartTime) * 2);