是否可以在多个请求中重用EventHubProducerClient

问题描述

我正在利用Azure SDK的服务将遥测数据记录到Azure事件中心。我的客户端应用程序调用API端点,该端点实例化EventHubProducerClient以将数据记录到事件中心。我正在管理许多api调用,并且想知道EventHubProducerClient是否可以在多个调用之间重用,还是应该在每个调用中使用新的实例。

解决方法

是的。 EventHubProducerClient在应用程序的整个生命周期中都是可以安全缓存和使用的,这是当您的应用程序定期或半定期发布事件时的最佳实践。在内部,生产者将管理其基础资源,并透明地尝试在不活动期间保持较低的资源使用量,并在较高使用期间管理其健康状况。

在应用程序关闭时调用其CloseAsync方法将确保正确清理网络资源和其他非托管对象。

侧面说明: EventHubProducerClient的一个常见问题是,如果可以安全地将其视为长寿的话,为什么要实施IAsyncDisposable 。在某些情况下,为方便起见,在发布很少且资源是应用程序关注的情况下进行此操作,部分是为了模仿HttpClient的模式。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...