Metodo AlterEventLifetime(TPayload)
Modifica la durata degli eventi nel flusso. Questo metodo può modificare sia l'ora di inizio che l'ora di fine di un evento.
Spazio dei nomi Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Sintassi
public static CepStream<TPayload> AlterEventLifetime<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent, DateTime>> startTimeFunc,
Expression<Func<CepEvent<TPayload>, TimeSpan>> lifeTimeFunc
)
Parametri di tipo
- TPayload
Tipo di payload dell'evento di input.
Parametri
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Flusso di input.
- startTimeFunc
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent, DateTime> ) > ) >> ) > ) >
Funzione che definisce la nuova ora di inizio per un determinato evento.
- lifeTimeFunc
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent< (Of < ( <'TPayload> ) > ) >, TimeSpan> ) > ) >> ) > ) >
Funzione che definisce la nuova durata per un determinato evento.
Valore restituito
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Flusso nuovo con le durate degli eventi modificate.
Nota sull'utilizzo
In Visual Basic e C# questo metodo può essere chiamato come metodo di istanza su qualsiasi oggetto di tipo CepStream< (Of < ( <'TPayload> ) > ) >. Quando si utilizza la sintassi del metodo di istanza per chiamare questo metodo, omettere il primo parametro. Per ulteriori informazioni, vedere https://msdn.microsoft.com/it-it/library/bb384936(v=sql.105) o https://msdn.microsoft.com/it-it/library/bb383977(v=sql.105).
Osservazioni
Per ulteriori informazioni, vedere Modifiche dei timestamp.
Esempi
Nell'esempio seguente l'ora dell'evento vene spostata indietro di 1 minuto mentre l'ora di fine dell'evento viene lasciata invariata (aggiungendo un minuto alla durata originale) specificando la nuova durata come secondo parametro.
// 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));