Я использую новый клиент 2.X NEST. Эта часть важна, потому что было много изменений, которые будут влиять на потенциальные ответы здесь.Получение запроса запроса ответа с клиентом 2.X NEST
Раньше я использовал плагин Glimpse Elasticsearch, чтобы увидеть базовые запросы, генерируемые NEST. Однако, похоже, что этот плагин больше не совместим с 2.X NEST. В результате я пытаюсь найти обходной путь, чтобы увидеть запрос JSON. Проблема здесь в том, что старый способ доступа к response.RequestInformation
, чтобы попасть в тело запроса, исчез. Кажется, что он был заменен на комбинацию ApiCall
, CallDetails
и DebugInformation
. Проблема заключается в том, что во всех этих случаях массив байтов запроса равен null, если вы не добавите .DisableDirectStreaming()
в экземпляр ConnectionSettings
, который вы передадите в ElasticClient
. Проблема в том, что я обрабатываю все, что использует инъекцию зависимостей с Ninject, поэтому в чем-то вроде действия контроллера у меня нет доступа к экземпляру ConnectionSettings
, чтобы сделать такое изменение. Полагаю, я мог бы просто добавить .DisableDirectStreaming()
во всем мире, но я не знаю, каковы потенциальные последствия этого, и документация по этому поводу расстраивает.
Итак, есть несколько путей для ответа здесь, любой из которых я приму. Во-первых, если кому-то удалось получить плагин Glimpse, работающий с 2.X, мне бы хотелось узнать, что вы сделали. Однако, исходя из того, что базовый API сильно изменился, я полагаю, что плагин принципиально нарушен, пока кто-то не разветвит его на 2.X, или Elastic выходит со своей собственной версией (которая, предположительно, наступает в какой-то неопределенной точке в будущее).
Во-вторых, если есть какой-то способ получить тело запроса без отключения прямой потоковой передачи, и я просто пропустил его. Я был бы признателен за руководство.
В-третьих, если у кого есть какие-либо идеи о том, как я могу отключить прямой потоковой передачи на уровне действия контроллера, не затрагивая мою установку Ninject или ее применения во всем мире, не стесняйтесь звонить в.
Наконец, было бы здорово если кто-то из команды Elastic может рассказать мне о последствиях отключения прямой потоковой передачи и о том, какие потенциальные проблемы могут возникнуть из-за этого, я могу принять решение о том, было бы разумно применять его глобально или нет.
С этого ответа можно отключить прямое потоковое вещание по запросу в NEST 5.x - посмотрит, может ли он быть обращен к 2.x –
Для тех, кто ищет эту информацию, вы можете найти ее здесь - https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/debug-information.html - 'SearchDescriptor' принимает' RequestConfiguration' –