Share via


AlterEventLifetime(TPayload) 方法

改變資料流中的事件存留期間。這個方法可以同時變更事件的開始時間和結束時間。

命名空間:  Microsoft.ComplexEventProcessing.Linq
組件:  Microsoft.ComplexEventProcessing (在 Microsoft.ComplexEventProcessing.dll 中)

語法

public static CepStream<TPayload> AlterEventLifetime<TPayload>(
    this CepStream<TPayload> source,
    Expression<Func<CepEvent, DateTime>> startTimeFunc,
    Expression<Func<CepEvent<TPayload>, TimeSpan>> lifeTimeFunc
)

型別參數

  • TPayload
    輸入事件裝載的類型。

參數

傳回值

型別:Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
包含已變更之事件存留期間的新資料流。

使用注意事項

在 Visual Basic 及 C# 中,您可以在任何型別 CepStream< (Of < ( <'TPayload> ) > ) > 的物件上將這個方法做為執行個體方法呼叫。使用執行個體方法語法呼叫這個方法時,請省略第一個參數。如需詳細資訊,請參閱 https://msdn.microsoft.com/zh-tw/library/bb384936(v=sql.105)https://msdn.microsoft.com/zh-tw/library/bb383977(v=sql.105)

備註

如需詳細資訊,請參閱<時間戳記修改>。

範例

下列範例會將事件時間移位 1 分鐘到過去,但是在將新的存留期間指定為第二個參數時,事件的結束時間則維持不變 (在原始存留期間中增加額外的 1 分鐘)。

// 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));

請參閱

參考

CepStream 類別

Microsoft.ComplexEventProcessing.Linq 命名空間