【问题标题】:signalR can't find hub methodsignalR 找不到集线器方法
【发布时间】:2017-04-11 04:11:00
【问题描述】:

我正在尝试编写一个简单的 signalR 网络应用程序。 我有一个聊天中心

public class ChatHub : Hub
{
    public void BroadcastMessage(string message)
    {
        Clients.All.writeMessage(message);
    }
}

我有js

<script src="~/signalr/hubs"></script>
<script>
    $(function () {
        var chat = $.connection.chatHub;
        chat.writeMessage = function (msg) {
            $('#mainContainer').append("<h2>" + msg + "</h2>");
        }

        $.connection.hub.start();

        var valll = 0;
        var interval = setInterval(
            function () {
                chat.broadcastMessage(valll);
                valll++;
                if (valll > 10)
                    clearInterval(interval);
            },
            500
        )
    }
    );
</script>

聊天不是身份不明,但我收到了一个错误:

未捕获的类型错误:chat.broadcastMessage 不是函数

如何找到包含错误的部分代码?

【问题讨论】:

    标签: c# .net websocket signalr


    【解决方案1】:

    试试这个

    chat.server.broadcastMessage(valll);
    

    【讨论】:

    • 哦,非常感谢,这行得通。现在我的服务器执行此方法,但尽管如此,方法“writeMessage”不起作用。为什么会这样?
    • 谢谢,我只是替换为“chat.client.writeMessage”,一切正常!
    【解决方案2】:

    你是否在页面或标题中加载了这个?

    <script src="@Url.Content("~/Scripts/jquery.signalR-2.2.1.min.js")"></script>
    

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 2018-12-18
      • 2021-08-28
      • 1970-01-01
      相关资源
      最近更新 更多