Как я могу очистить значения в System.Azure.EventHubs.EventDataBatch в c #? - PullRequest
0 голосов
/ 08 ноября 2018

Я использую System.Azure.EventHubs.EventDataBatch для отправки пакета событий в концентратор событий Azure.

После успешной отправки пакета я хотел бы очистить коллекцию событий, а затем добавить новые события в концентратор событий, чтобы отправить следующий пакет.

Поскольку EventDataBatch - это список событий, я ожидал, что будет функция Clear (), которая позволит очистить коллекцию. Но, к сожалению, нет. Кто-нибудь знает чистый способ добиться этого?

В качестве альтернативы, я думаю избавиться от текущего EventDataBatch, а затем создать новый EventDataBatch с помощью EventHubClient.CreateBatch ()

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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...