我正在利用Azure SDK的服务将遥测数据记录到Azure事件中心。我的客户端应用程序调用一个API端点,它实例化EventHubProducerClient以将数据记录到事件集线器。我正在管理许多api调用,并想知道EventHubProducerClient是否可以跨多个调用重用,还是应该在每个调用中使用一个新实例。
发布于 2020-08-31 18:18:20
是。在应用程序的生命周期内缓存和使用EventHubProducerClient
是安全的,这是应用程序定期或半定期发布事件时使用的最佳实践。在内部,生产者将管理其基础资源,并透明地试图在无活动期间保持低资源利用率,并在较高使用期间管理其健康状况。
在应用程序关闭时调用其CloseAsync
方法将确保正确清理网络资源和其他非托管对象。
侧注:对于EventHubProducerClient
来说一个常见的问题是,如果将其视为长寿是安全的,它为什么要实现IAsyncDisposable
?这样做的部分原因是为了在发布频率很低、资源是应用程序关注的情况下提供方便,部分是为了模仿HttpClient
的模式。
https://stackoverflow.com/questions/63675895
复制相似问题