Мы видели возрождение этой проблемы в недавнем обновлении Elasticsearch (https://github.com/elastic/elasticsearch-net/issues/1937).
Мы устанавливаем SourceSerializer при создании клиентского соединения, но это не помогает.
При отладке я вижу, что RequestResponseSerializer
по умолчанию равно Nest.InternalSerializer
. Этот сериализатор JSON имеет поле DateParseHandling
, установленное на DateTime
, когда мы хотим DateTimeOffset
. Я подозреваю, что это может быть причиной моей проблемы.
Есть ли способ установить RequestResponseSerializer
, чтобы проверить мою теорию?
ДОПОЛНЕНИЕ: я смог проверить свою теорию выше, напрямую изменив код NEST. Я отредактировал метод InternalSerializer::CreateSettings()
, включив в него DateParseHandling = DateParseHandling.DateTimeOffset
, и это решило проблему.
Теперь, как установить/изменить это значение для RequestResponseSerializer
без прямого изменения кода NEST...
RequestResponseSerializer
. Этот сериализатор используется NEST для обеспечения правильной сериализации всех типов запросов и ответов. Не могли бы вы обновить свой вопрос, чтобы объяснить, чего вы пытаетесь достичь? - person Russ Cam   schedule 26.10.2018{"startTimeLocal": "2016-03-21T09:45:20-02:00"}
), десериализация из ES преобразует ее в локальную системную TZ. это приводит к потере информации о TZ из исходных данных. Просто хотелось бы иметь возможность установить RequestResponseSerializer для использованияDateParseHandling = DateParseHandling.DateTimeOffset
, а не текущего значенияDateParseHandling.DateTime
- person Gerry   schedule 29.10.2018