Méthode AlterEventLifetime(TPayload)
Modifie la durée de vie des événements dans le flux de données. Cette méthode peut modifier à la fois l'heure de début et l'heure de fin d'un événement.
Espace de noms : Microsoft.ComplexEventProcessing.Linq
Assembly : Microsoft.ComplexEventProcessing (en Microsoft.ComplexEventProcessing.dll)
Syntaxe
public static CepStream<TPayload> AlterEventLifetime<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent, DateTime>> startTimeFunc,
Expression<Func<CepEvent<TPayload>, TimeSpan>> lifeTimeFunc
)
Paramètres de type
- TPayload
Type de la charge utile d'événement d'entrée.
Paramètres
- source
Type : Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Flux d'entrée.
- startTimeFunc
Type : System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent, DateTime> ) > ) >> ) > ) >
Fonction qui définit la nouvelle heure de début d'événement pour un événement donné.
- lifeTimeFunc
Type : System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent< (Of < ( <'TPayload> ) > ) >, TimeSpan> ) > ) >> ) > ) >
Fonction qui définit la nouvelle durée de vie d'événement pour un événement donné.
Valeur de retour
Type : Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Nouveau flux de données avec les durées de vie d'événement modifiées.
Remarque relative à l'utilisation
En Visual Basic et C#, vous pouvez appeler cette méthode comme méthode d'instance sur tout objet de type CepStream< (Of < ( <'TPayload> ) > ) >. Lorsque vous utilisez la syntaxe de la méthode d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez https://msdn.microsoft.com/fr-fr/library/bb384936(v=sql.105) ou https://msdn.microsoft.com/fr-fr/library/bb383977(v=sql.105).
Notes
Pour plus d'informations, consultez Modifications d'horodatage.
Exemples
L'exemple suivant décale l'heure de l'événement d'une minute dans le passé, mais conserve l'heure de fin de l'événement (en ajoutant une minute supplémentaire à la durée de vie d'origine) lors de la spécification de la nouvelle durée de vie comme second paramètre.
// 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));