C# 我们是否应该将Microsoft.Azure.EventHubs.Processor库与.NET framework一起使用
上下文 我们当前正在使用从Azure事件中心接收数据。我们运行的是.NET framework,而不是.NET Core 此Microsoft(发布于2017年2月2日)建议,无论您使用何种.NET运行时,更新版本都是未来的发展方向,因为它们将维护一个单一的代码库 与此同时,微软最近更新的官方版本仍然建议为.NET框架使用较旧的库(Microsoft.Azure.ServiceBus.EventProcessorHost) 自发布以来,这两个库都进行了更新和改进 问题 既然我们使用的是.NET framework,那么接下来我们应该使用哪个库 我们是否应该迁移到较新的Microsoft.Azure.EventHubs.Processor,以便从最新的开发、改进和错误修复中获益?还是旧的能跟上速度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 Event Hubs。我的回答可能有偏,但我更喜欢较新的
Microsoft.Azure.EventHubs
库。原因如下:
- 它是开源的。您可以查看路线图、当前问题、归档您自己的问题,如果需要,您可以使用MIT许可证访问代码
- 它使用.NET标准。如果您的解决方案更改为.NET核心或任何其他.NET运行时,您可以继续使用事件中心代码
- 这是微软未来将强调的图书馆。虽然这是我的假设,但我认为:
- docs.microsoft.com入门示例使用新库李>
- 微软已经看到了开源开发的好处,几乎所有的Azure库都是开源的。i、 e.Service Fabric也刚开始开源:
- 创建较新的库是为了替换较旧的库。虽然Microsoft非常擅长支持旧库/法律库,但最终的目的是替换旧库李>
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)。还有一个可用于帮助从旧版本升级的