У меня есть служба Нэнси JSON REST, который использует следующий код сериализации ...Дата сериализации между двумя .net приложениями
FormatterExtensions.AsJson(this.Response, insightManager.CaseSummary(x.caseId));
который затем deserilised по ...
public static T ParseResponseForObject<T>(string response)
{
var javaScriptSerializer = new JavaScriptSerializer();
try
{
return javaScriptSerializer.Deserialize<T>(response);
}
catch (Exception ex)
{
throw new Exception(response, ex);
}
}
И код insightManager.CaseSummary (x.caseId) возвращает экземпляр класса с нулевым значением DateTime.
Проблема заключается в том, что в процессе сериализации/десериализования дата теряет час, который я предпочитаю как-то компенсировать UTC. Что вроде anoying, потому что я хочу только часть даты в любом случае, так что похоже, что все даты - это день, прежде чем они на самом деле.
Я видел много сообщений, фиксирующих tis в javascript, но я не уверен, как их применять, когда обе части моего кода используют «стандартные» serilasers.
Ожидает ли бэкенд получить UTC даты или делает это рассчитывать на получение дат в местное время? Если последний, какая другая информация отправляется для определения того, что такое местное время UTC смещение? –
Это странная вещь, класс, который я сериализую в и из того же, на обоих концах службы. Существенно, что класс dto и свойства даты имеют значение NULL DateTime –