Я пытаюсь отправить запрос с сервера клиенту (.Net), работающему в среде, специфичной для конкретной культуры, которая влияет на даты в особом часовом поясе.
Я отправляю дату с сервера с неопределенным видом, чтобы избежать ее преобразования при получении на стороне клиента.По сути, я просто конвертирую это так на стороне сервера:
DateTime dateToSend = DateTime.SpecifyKind(serverSideDate, DateTimeKind.Unspecified);
Проблема в том, что при использовании JsonProtocol для клиента дата не конвертируется и обрабатывается правильно, а для MessagePackProtocol один и тот же код для клиентской и серверной сторон работает совершенно по-разному - он конвертирует дату в культурный часовой пояс клиента ...
Как предотвратить это преобразование, без некоторых хакерских решений, таких какпроходящая дата в виде строки.
ОБНОВЛЕНИЕ:
Как предположил Шон, я настроил MessagePack как на стороне клиента, так и на стороне сервера, но, к сожалению, он все еще не работает:
.AddMessagePackProtocol(options =>
options.FormatterResolvers = new List<MessagePack.IFormatterResolver>()
{
StandardResolver.Instance,
NativeDateTimeResolver.Instance
})