Клиент .NET NEST для Elasticsearch

#c# #elasticsearch #asp.net-web-api #nest

Вопрос:

При создании нового экземпляра клиента существует ли разница между следующим:

services.AddSingleton<IElasticClient>(new ElasticClient(settings)

и

var client = new ElasticClient(settings)

переменная settings находится var settings = new ConnectionSettings(node) там, где находится узел var node = new Uri("http://localhost:9200")

Ответ №1:

В первом коде вы добавляете свой эластичный клиент в платформу DI в .net как одноэлементный экземпляр, в то время как во втором вы создаете новый экземпляр эластичного клиента. Если вы зарегистрируете свой ElasticClient в качестве одноэлементной службы, вы можете выполнить инъекцию конструктора, чтобы использовать его в любое удобное для вас время, и у вас будет один экземпляр в вашем приложении, в то время как при втором подходе вы будете каждый раз создавать новый объект. Вы можете ознакомиться с официальной платформой инъекций .net Dependecy здесь.

.

Комментарии:

1. Спасибо вам за объяснение!