我正在使用一个非常简单的示例来评估SignalR,以便能够从服务器调用客户端。我在一个空的Visual Studio Web应用程序 - Visual Studio 2012中使用Nuget安装了最新版本的SignalR。场景是:我有一个aspx Publisher,它通过单击发布按钮从代码中推送消息。有一个html客户端应该接收消息。下面的代码不确定为什么消息没有传递给客户端。我没有错误消息。 SignalR Owin启动称为ok。如果我键入/ Signalr / hubs url,我会收到SignalR消息。
代码是: 轮毂:
namespace SignalRTest2
{
public class TestHub : Hub
{
// not needed??
}
}
出版商:
public partial class Publisher : System.Web.UI.Page
{
protected void cmdBroadcast_Click(object sender, EventArgs e)
{
var testHub = GlobalHost.ConnectionManager.GetHubContext<TestHub>();
testHub.Clients.All.clientSendMessage(txtMessage.Text);
}
}
客户端:
<head>
<script src="Scripts/jquery-1.6.4.min.js"></script>
<script src="Scripts/jquery.signalR-2.0.1.min.js"></script>
<script src="/signalr/hubs"></script>
<title></title>
<script type="text/javascript">
//Proxy created on the fly
var myHub = $.connection.testHub;
// Declare a function on the chat hub so the server can invoke it
myHub.clientSendMessage = function (message) {
//$("#messages").append("<li>" + message + "</li>");
alert(message);
};
$.connection.hub.start()
</script>