c# - Azure EventHub - 如何删除事件?

标签 c# azure asynchronous azure-eventhub

像往常一样,我非常感谢您的帮助,因为我目前陷入困境!!!

我们有一个新项目,我们将使用 Azure EventHub。我创建了演示应用程序,我们可以在其中将事件添加到事件中心,也可以使用 IEventProcessor(接收器项目)使用它们。问题是,每次执行接收器项目时,我都会看到相同的事件。难道我们不应该期望这些事件在我们使用它们之后将被删除吗?

接收器项目中的示例:

foreach (EventData eventData in messages)
{
        string data = Encoding.UTF8.GetString(eventData.GetBytes());

        Console.WriteLine(string.Format("Message received.  Partition: '{0}', Data: '{1}'",
                context.Lease.PartitionId, data));
}

有没有办法在 Console.WriteLine 之后删除/删除该事件,或者该消息会保留一天吗?使用队列,您可以发出完成信号,但使用 EventHub 则看不到任何命令,我可以使用它来删除/删除它。

任何回复将不胜感激。我们被指示使用 EventHub,但出于各种原因,这不是选择的问题。

最佳答案

确保在退出 ProcessEventsAsync 之前调用 context.CheckpointAsync。这将存储该分区的客户端偏移量,并且分配该分区的下一个处理器实例将从最后存储的偏移量开始恢复。

参见http://msdn.microsoft.com/en-us/library/dn751578.aspx文档(虽然信息不是很多)。

关于c# - Azure EventHub - 如何删除事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26780904/

相关文章:

c# - 从 WP7 中的代码调用后退按钮

c# - 如何从onedriveclient sdk c#获取用户名或电子邮件

Azure 应用服务内存使用情况。在哪里可以看到完整的分割?

Azure 区域 - "Stage"是什么意思?

Python cmd 模块 - 异步事件后恢复提示

jquery - getJSON 请求返回未定义

c# - asp.net/c# 中的线程

c# - 在 C# 中序列化类。嵌套XML

azure - 如何从 Function App URL 中删除 "api"

node.js - async.parallel 和 async.series 有什么区别?