如何从c#调用hub方法

时间:2014-12-11 14:21:22

标签: c# signalr

我试图做一个小信号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>

我不知道我在哪里做错了

1 个答案:

答案 0 :(得分:1)

在您的集线器中,您需要调用您希望在客户端上调用的方法,即

   Clients.All.HubMethod(myMessage);

SingalR会将方法名称转换为驼峰大小写并在浏览器上调用hubMethod函数。

您还需要添加一个在您的站点中启用SignalR的Owin启动类。这在Tutorial: Getting Started with SignalR2 and MVC 5

中有所描述