用于 Elasticsearch 的 .NET NEST 客户端

问题描述

在创建新的客户端实例时,以下是否有区别:

services.AddSingleton<IElasticclient>(new Elasticclient(settings)

var client = new Elasticclient(settings)

变量 settingsvar settings = new ConnectionSettings(node),其中节点是 var node = new Uri("http://localhost:9200")

解决方法

在第一个代码中,您将弹性客户端添加到 .net 中的 DI 框架作为单例实例,而在第二个代码中,您正在实例化弹性客户端的新实例。 如果您将 ElasticClient 注册为单例服务,您可以随时进行构造函数注入以使用它,并且您的应用程序中将有一个实例,而第二种方法每次都会创建新对象。 你可以看看.net官方的依赖注入框架here

.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...