信号器日期时间请求/响应差异
我使用 WCF 数据服务从我的 Web 应用程序“查询”数据模型,然后使用 SignalR 接收“推送”更新。
WCF 数据服务 (OData) 将日期格式化为“/Date(1319493384779)/”格式的字符串。这很好,因为我然后生成客户端(javascript)视图模型,在其中创建实际的 Javascript Date() 对象。 SignalR 还将 DateTime 对象作为“/Date(1319493384779)/”从服务器发送到客户端,但在通过 Javascript 从 javascript 传递到服务器集线器方法时,它似乎期望实际的 Date() 对象。 这是相当低效的,因为我已经有一个 JavaScript 模型对象,并且我应该能够将其按原样发送到 SignalR 集线器。
有人知道为什么会发生这种情况吗?
编辑: 这是一条从服务器到达浏览器的消息,请注意 CreationDate 的格式 - 在服务器上,这是一个 CLR DateTime
这是将对象发送回集线器 - 请注意完全相同的日期格式...此调用失败
这是错误
如果我像这样设置日期格式,它就可以工作(Javascript代码):
CreationDate: "13/10/2011 3:31:10 p.m."
I am using WCF data services to 'query' for data models from my web application, but then I use SignalR to receive 'push' updates.
WCF Data Services (OData) formats dates as a string in the format "/Date(1319493384779)/". This is fine, because I then generate client-side (javascript) viewmodels where I create actual Javascript Date() objects.
SignalR also sends DateTime objects from the server to the client as "/Date(1319493384779)/", but it appears to expect an actual Date() object when passing from javascript to a server hub method via Javascript.
This is rather inefficient, because I already have a model object in javascript, and I should just be able to send it to a SignalR hub as-is.
Does anybody have any idea why this is happening?
EDIT:
This is a message arriving in the browser from the server, note the format of the CreationDate - on the server this is a CLR DateTime
This is sending an object back to the Hub - notice the exact same date format... this call fails
This is the error
If I format the date like this, it works (Javascript code):
CreationDate: "13/10/2011 3:31:10 p.m."
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GITHub 上列出的已识别问题现已开放。
https://github.com/SignalR/SignalR/issues/46
Recognised issue listed on GITHub, now open.
https://github.com/SignalR/SignalR/issues/46