枢纽模型从集线器在SignalR
问题描述:
我如何创建/转换成可以使用SignaR集线器骨干模型的脚本?例如:枢纽模型从集线器在SignalR
<script type="text/javascript">
$(function() {
// Proxy created on the fly
var chat = $.connection.chat;
// Declare a function on the chat hub so the server can invoke it
chat.addMessage = function (message) {
alert("message");
};
// Start the connection
$.connection.hub.start();
});
</script>
编辑
我没有想出这个:
window.Message = Backbone.Model.extend({
hub: undefined,
initialize: function() {
this.hub = $.connection.message;
},
addMessage: function (message) {
alert(message);
},
connect: function() {
$.connection.hub.start();
var messages = this.hub.getAll();//get messages
}
});
但这不是由于以下错误工作:
此错误: :55885意外的回应码:200
答
如果使用默认设置,SignalR将首先尝试向服务器发送websockets轮询。 The:55885只是你服务器的端口号。 Websockets协议预期响应状态码为101(请参阅http://dev.w3.org/html5/websockets/)。
如果运行IIS,除非使用ASP.NET 4.5运行Windows 8 Web服务器,否则它将无法识别Web套接字请求并(开始猜测)将其视为正常的请求并返回状态代码200(OK)(最终的猜测),这是Websockets发起人眼中的意外反应。当发生这种情况时,SignalR会回退到长音。
这可能不是回答你的问题,但它会帮助你了解你(这很可能不是为什么你的代码不起作用的原因)
+0
THX我只是找到这个开源项目https://github.com/rickschott/fire-camp/tree/master/BackboneMVC3SignalR,帮助我很多。 – 2012-01-23 19:15:16
到目前为止您尝试过什么?你的代码遇到了什么困难?你的问题看起来更像是一个你将发送给Web开发人员的职位描述,而不是你在*上要求的职位描述。 – 2012-01-08 17:25:56
根据我对backbone.js的了解,它需要一个宁静的URL,因此这可能不会奏效。另外,我并不是使用ASP.NET MVC的backbone.js的粉丝,因为它看起来像锤子钉子综合征。 ASP.NET MVC利用MVC自行完成。缺少来自Ajax调用的绑定数据,Knockout.js似乎更适合。骨干一点也不坏,但是你最终会重复MVC服务器端,然后MVC客户端,或者你绕过MVC服务器而转向客户端。 – LCarter 2012-01-13 14:35:28