2012-04-25 151 views
0

我遵循https://github.com/SignalR/SignalR/wiki/QuickStart-Hubs的文档来创建一个使用SignalR Hubs的简单聊天应用程序。简单SignalR聊天

我不能得到它的工作,不明白我做错了什么?

我不断收到以下错误:

SignalR:可以发送数据之前连接必须启动。之前。发送调用。开始()()

HUB类:

public class Chat : Hub 
{ 
    public void Send(string message) 
    { 
     Clients.addMessage(message); 
    } 
} 

客户:

<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.6.4.min.js" type="text/javascript"></script> 
    <script src="Scripts/jquery.signalR.min.js" type="text/javascript"></script> 
    <script src="signalr/hubs" type="text/javascript"></script> 
    <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) { 
       $('#messages').append('<li>' + message + '</li>'); 
      }; 

      $("#broadcast").click(function() { 
       // Call the chat method on the server 
       chat.send($('#msg').val()) 
      .done(function() { 
       console.log('Success!'); 
      }) 
      .fail(function (e) { 
       console.warn(e); 
      }); 
      }); 

      // Start the connection 
     $.connection.hub.start(); 


     }); 
    </script> 
</head> 
<body> 
    <div> 
     <input type="text" id="msg" /> 
     <input type="button" id="broadcast" value="broadcast" /> 
     <ul id="messages"> 
     </ul> 
    </div> 
</body> 

套餐:

<packages> 
    <package id="Newtonsoft.Json" version="4.0.8" /> 
    <package id="SignalR.Server" version="0.4.0.0" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" /> 
    <package id="SignalR.Hosting.AspNet" version="0.4.0.0" /> 
    <package id="jQuery" version="1.6.4" /> 
    <package id="SignalR.Js" version="0.4.0.1" /> 
    <package id="SignalR" version="0.4.0" /> 
    <package id="jQuery.Color" version="1.0" /> 
</packages> 

回答

1

你有没有在开发者工具看为您的浏览器查看是否有任何错误?

由于尝试连接到服务器时出现错误(例如500),SignalR可能无法在客户端上启动。

+0

是的,我正在使用开发工具在IE9中进行调试。我得到的唯一错误是当我点击#Broadcast按钮并尝试调用chat.send – sarah 2012-04-25 16:38:57

+0

@sarah有什么错误? – samandmoore 2012-04-25 16:39:54

+0

刚刚进行了另一次检查,我收到了一个500状态代码URL \t /signalr/negotiate – sarah 2012-04-25 16:41:56