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-cn/library/bb384936(v=sql.105)https://msdn.microsoft.com/zh-cn/library/bb383977(v=sql.105)

注释

有关详细信息,请参阅时间戳修改

示例

以下示例在将新生存期指定为第二个参数时,将事件时间往前推 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 命名空间