Изменить сериализацию даты по умолчанию в WCF
Есть ли способ изменить сериализацию / десериализацию DateTime JSON по умолчанию в WCF?
В настоящее время DateTime сериализуются в/Date(1372252162657+0200)/
формат, который должен был быть в порядке, но я сталкиваюсь с проблемами, когда мой сервер не в UTC (который я не могу изменить).
Все данные даты / времени, которые обрабатываются этой службой, имеют формат UTC. Все работает, когда сервер в UTC. Тем не менее, промежуточные / промежуточные среды установлены в GMT + 1 (Париж), и сериализатор предполагает, что даты / время находятся в GMT + 1, полностью игнорируя атрибутKind
, Так как вы ожидаете звонкаDateTime.SetKind()
и установка его в UTC не будет работать. По сути, сериализованное время задерживается на час.
Я могу либо вести двусторонний разговор о дате (он также делает то же самое предположение при десериализации, поэтому всегда GMT + 1) разговор о датах: UTC для / из времени сервера, но это утомительно. Поэтому я подумал, что, возможно, я мог бы просто переопределить стандартное поведение сериализации.