我试图做一个小信号R样本来理解它。但我卡住了,无法获得输出。
这是我的示例代码
public class HubClass : Hub
{
public void HubMethod(string myMessage)
{
Clients.All.hubClient(myMessage);
}
}
public ActionResult Index()
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<HubClass>();
hubContext.Clients.All.HubMethod("Hello");
return View();
}
<div class="msg"></div>
<script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>
<script src="~/signalr/hubs"></script>
<script>
var hubCls = $.connection.hubClass;
$.connection.hub.start();
hubCls.client.hubMethod = function (message) {
$('.msg').text(message);
};
</script>
我不知道我在哪里做错了
答案 0 :(得分:1)
在您的集线器中,您需要调用您希望在客户端上调用的方法,即
Clients.All.HubMethod(myMessage);
SingalR会将方法名称转换为驼峰大小写并在浏览器上调用hubMethod
函数。
您还需要添加一个在您的站点中启用SignalR的Owin启动类。这在Tutorial: Getting Started with SignalR2 and MVC 5
中有所描述