C# 我们是否应该将Microsoft.Azure.EventHubs.Processor库与.NET framework一起使用

C# 我们是否应该将Microsoft.Azure.EventHubs.Processor库与.NET framework一起使用,c#,azure,azure-eventhub,event-processor-host,C#,Azure,Azure Eventhub,Event Processor Host,上下文 我们当前正在使用从Azure事件中心接收数据。我们运行的是.NET framework,而不是.NET Core 此Microsoft(发布于2017年2月2日)建议,无论您使用何种.NET运行时,更新版本都是未来的发展方向,因为它们将维护一个单一的代码库 与此同时,微软最近更新的官方版本仍然建议为.NET框架使用较旧的库(Microsoft.Azure.ServiceBus.EventProcessorHost) 自发布以来,这两个库都进行了更新和改进 问题 既然我们使用的是.NET

上下文

我们当前正在使用从Azure事件中心接收数据。我们运行的是.NET framework,而不是.NET Core

此Microsoft(发布于2017年2月2日)建议,无论您使用何种.NET运行时,更新版本都是未来的发展方向,因为它们将维护一个单一的代码库

与此同时,微软最近更新的官方版本仍然建议为.NET框架使用较旧的库(Microsoft.Azure.ServiceBus.EventProcessorHost)

自发布以来,这两个库都进行了更新和改进

问题

既然我们使用的是.NET framework,那么接下来我们应该使用哪个库

我们是否应该迁移到较新的Microsoft.Azure.EventHubs.Processor,以便从最新的开发、改进和错误修复中获益?还是旧的能跟上速度


这个问题也与新来者有关,他们应该选择哪个库开始使用Azure Event Hubs。

我的回答可能有偏,但我更喜欢较新的
Microsoft.Azure.EventHubs
库。原因如下:

  • 它是开源的。您可以查看路线图、当前问题、归档您自己的问题,如果需要,您可以使用MIT许可证访问代码
  • 它使用.NET标准。如果您的解决方案更改为.NET核心或任何其他.NET运行时,您可以继续使用事件中心代码
  • 这是微软未来将强调的图书馆。虽然这是我的假设,但我认为:
    • docs.microsoft.com入门示例使用新库
    • 微软已经看到了开源开发的好处,几乎所有的Azure库都是开源的。i、 e.Service Fabric也刚开始开源:
    • 创建较新的库是为了替换较旧的库。虽然Microsoft非常擅长支持旧库/法律库,但最终的目的是替换旧库

添加一点上下文以使本指南现代化,因为微软已经围绕Azure SDK启动了一项新计划,其中包括一个新的事件中心客户端库。对于新的开发,我们建议使用
Azure.Messaging.EventHubs
包系列和
Azure.[AREA].[SERVICE].
包来处理其他Azure服务

是当前一代的Event Hubs客户端库,将成为开发的焦点,定期发布改进和新功能。它支持
netstandard2.0
平台,允许它与各种主机环境一起使用,包括.NET 5、.NET Core和完整的.NET Framework。该库保留了与上一代Microsoft.Azure.EventHubs相同的高级功能,但具有更离散的客户端层次结构和改进的API

Azure.Messaging.EventHubs
库是改善整个Azure服务开发体验计划的一部分。为此,它遵循一套统一的标准,旨在推动跨开发语言的一致体验,并为所有Azure服务使用已建立的API模式。该库还遵循了一组规则,以确保.NET SDK具有与.NET基类库类似的自然和惯用的感觉

Azure.Messaging.EventHubs
库还提供了共享对Azure开发体验所做的一些跨服务改进的功能,例如提供跨每个客户端库的活动的通用视图的统一诊断管道。另一个关键改进是简化了使用新库在不同Azure服务的客户端之间共享凭据的身份验证体验

虽然我们相信采用现代版本的Event Hubs客户端库有很大的好处,但重要的是要知道,旧版本尚未被正式弃用。他们将继续得到安全和错误修复的支持。但是,不太可能添加新功能,并且无法保证未来的现代版本和传统版本之间的功能对等

有关Azure.Messaging.EventHubs库的更多信息,请参见its和[示例][https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/eventhub/Azure.Messaging.EventHubs/samples)。还有一个可用于帮助从旧版本升级的