Método AlterEventDuration(TPayload)
Altera a duração dos eventos de entrada. Esse método não altera a hora de início de um evento.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (em Microsoft.ComplexEventProcessing.dll)
Sintaxe
public static CepStream<TPayload> AlterEventDuration<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent<TPayload>, TimeSpan>> eventDurationFunc
)
Parâmetros de tipo
- TPayload
Tipo de carga do evento de entrada.
Parâmetros
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Fluxo de entrada.
- eventDurationFunc
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent< (Of < ( <'TPayload> ) > ) >, TimeSpan> ) > ) >> ) > ) >
Expressão que define a nova duração do evento.
Valor de retorno
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
Um fluxo com novas durações de evento.
Observação sobre o uso
No Visual Basic e C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo CepStream< (Of < ( <'TPayload> ) > ) >. Quando usar uma sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte https://msdn.microsoft.com/pt-br/library/bb384936(v=sql.105) ou https://msdn.microsoft.com/pt-br/library/bb383977(v=sql.105).
Comentários
Para obter mais informações, consulte Modificações de carimbo de data/hora.
Exemplos
O exemplo a seguir define a duração do evento como 1 hora.
// set event duration to 1 hour.
var onehour = inputStream.AlterEventDuration(e => TimeSpan.FromHours(1));
O exemplo a seguir define a duração do evento como duas vezes seu tempo de vida atual.
// double event duration.
var doubled = inputStream.AlterEventDuration(e => (e.EndTime - e.StartTime) * 2);