我按照https://github.com/SignalR/SignalR/wiki/QuickStart-Hubs处的文档使用SignalR Hubs创建了一个简单的聊天应用程序。
我无法让它工作,也不明白我做错了什么?
我一直收到以下错误:
SignalR:必须先启动连接才能发送数据。在.send()
之前调用.start()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>
答案 0 :(得分:1)
您是否查看了浏览器的开发者工具,看看是否有任何错误?
由于在尝试连接服务器时出现错误(例如500),SignalR可能无法在客户端启动。