Я использую службы данных WCF для «запроса» моделей данных из своего веб-приложения, но затем я использую SignalR для получения «push» обновлений.
Службы данных WCF (OData) форматируют даты как строку в формате «/Date(1319493384779)/». Это нормально, потому что затем я генерирую модели просмотра на стороне клиента (javascript), где я создаю фактические объекты Javascript Date(). SignalR также отправляет объекты DateTime с сервера клиенту как "/Date(1319493384779)/", но, похоже, он ожидает фактический объект Date() при переходе от javascript к методу концентратора сервера через Javascript. Это довольно неэффективно, потому что у меня уже есть объект модели в javascript, и я должен просто отправить его в концентратор SignalR как есть.
Кто-нибудь знает, почему это происходит?
РЕДАКТИРОВАТЬ: это сообщение, поступающее в браузер с сервера, обратите внимание на формат CreationDate - на сервере это CLR DateTime
Это отправляет объект обратно в концентратор - обратите внимание на тот же формат даты... этот вызов завершается ошибкой
Это ошибка
Если я форматирую дату так, она работает (код Javascript):
CreationDate: "13/10/2011 3:31:10 p.m."