我如何清除c#中System.Azure.EventHubs.EventDataBatch中的值?

问题描述 投票:1回答:1

我正在使用System.Azure.EventHubs.EventDataBatch将一批事件发送到Azure事件中心。

一旦成功发送了一批,我想清除事件集合,然后将新事件添加到事件中心以发送下一批。

由于EventDataBatch是事件列表,我希望会有一个Clear()函数来清除集合。但不幸的是没有任何东西。有谁知道实现这一目标的干净方法?

或者,我正在考虑处置当前的EventDataBatch,然后使用EventHubClient.CreateBatch()创建一个新的EventDataBatch。>

var myEventBatch = eventHubClient.CreateBatch();
foreach(var message in messages)
{
    if(!myEventBatch.TryAdd(message))
    {
       await eventHubClient.SendAsync(myEventBatch).ConfigureAwait(false);   
       //myEventBatch.Clear();
       //myEventBatch = eventHubClient.CreateBatch();
       myEventBatch = new EventDataBatch(256000);
       myEventBatch.TryAdd(message);
    }
}

我正在使用System.Azure.EventHubs.EventDataBatch将一批事件发送到Azure事件中心。成功发送一批后,我想清除事件集合,然后添加新的...

c# azure azure-eventhub
1个回答
0
投票

查看EventDataBatch.cs中的dispose方法

© www.soinside.com 2019 - 2024. All rights reserved.