4

我是新手。我正在使用 ElasticClient (.Net),我很好奇:

  1. 它是线程安全的吗?我假设是因为它使用池化。
  2. 完成后我应该做些什么来清理客户端资源吗?它没有实现 IDisposable。

谢谢!

鲍勃

4

1 回答 1

3

关于线程安全:https ://github.com/elastic/elasticsearch-net/issues/23

ElasticClient 拥有一个 IConnection 负责执行异步和同步 http 调用。IConnection 不重用 httprequests 并使用线程本地状态来处理在请求阶段传递的数据。因此它应该是线程安全的。

关于处置:https ://github.com/elastic/elasticsearch-net/issues/101

ElasticClient 几乎是无状态的,除了静态 CLR 类型的信息缓存是线程安全的,因此您甚至可以在线程上使用一个客户端。处置也由 Nest 处理,ElasticClient 仅公开 POCO。

于 2015-06-30T20:48:32.687 回答