我试着SignalR,我得到了javascript错误:状态是未定义的。该状态是我的枢纽,它被定义为:SignalR返回'HubName'未定义
namespace SignalRDemo
{
public class Status : Hub, IDisconnect, IConnected
{
public Task Disconnect()
{
return Clients.leave(Context.ConnectionId, DateTime.Now.ToString());
}
public Task Connect()
{
return Clients.joined(Context.ConnectionId, DateTime.Now.ToString());
}
public Task Reconnect(IEnumerable<string> groups)
{
return Clients.rejoined(Context.ConnectionId, DateTime.Now.ToString());
}
}
}
当我尝试网址http://localhost:16476/signalr/hubs,我已经收到了javascript代码,但是有缺失的现状枢纽实例。
我已经引用了以下组件:SignalR.dll,Newtonsoft.Json.dll,WebActivator.dll,Microsoft.Web.Infrastructure.dll
我Default.aspx的网站看起来像:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<script src="/Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="/Scripts/json2.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.signalR.js" type="text/javascript"></script>
<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>
<script type="text/javascript">
$(function() {
var status = $.connection.status;
status.joined = function (id, when) {
if ($.connection.hub.id === id) {
addMessage(id, 'blue');
}
addMessage(id + ' joined at ' + when, 'green');
};
status.rejoined = function (id, when) {
addMessage(id + ' reconnected at ' + when, 'purple');
};
status.leave = function (id, when) {
addMessage(id + ' left at ' + when, 'red');
};
function addMessage(value, color) {
$('#messages').append('<li style="background-color:' + color + ';color:white">' + value + '</li>');
}
$.connection.hub.start({ transport: activeTransport });
});
</script>
</head>
<body>
<ul id="messages">
</ul>
</body>
</html>
这个例子是从官方的SignalR例子中复制的。我创建了自己的asp.net web应用程序并将代码放在那里。有人可以导航 我想念我吗?
您可以尝试将代码更改为? – aKzenT 2012-04-01 12:45:09
我已经尝试过,但同样的错误。正如我在我的问题中写道,url http:// localhost:16476/signalr/hubs是可访问的,但缺少集线器实例。我认为,问题出在服务器端,因为它不会呈现集线器实例。 – zosim 2012-04-01 13:03:07
其中activeTransport定义在哪里?你还通过nuget或手动添加了signalR吗? – drch 2012-04-01 13:17:06