2012-04-25 184 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