#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. Спасибо вам за объяснение!