javascript - 无法读取未定义的属性 'counterHub'

标签 javascript jquery asp.net-mvc signalr signalr-hub

我正在尝试使用 SignalR 制作一个简单的用户计数器,但由于未知的原因,我在控制台中收到此错误。我对 signalR 和 asp.net 非常陌生,但我所拥有的对我来说很有意义,而且我不知道为什么会收到错误。有人可以帮我解决这个问题并可能解释为什么会发生吗?

这是索引 View 中的代码。

<div class="row">
Number of online users <strong id="counter"></strong>
<script src="@Url.Content("~/Scripts/jquery-3.1.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.signalR-2.2.1.min.js")"></script>
<script src="@Url.Content("~/signalr/hubs")"></script>

<script>
    $(function () {
        var counterHub = $.connection.counterHub;
        $.connection.hub.start().done(function () {

        });
        counterHub.client.UpdateCount = function (count) {
            $("#counter").text(count);
        }
    });

</script>

集线器类:

public class CounterHub : Hub
{
    static long counter = 0;
    public override System.Threading.Tasks.Task OnConnected()
    {
        counter = counter + 1;
        Clients.All.UpdateCount(counter);
        return base.OnConnected();
    }

    public override System.Threading.Tasks.Task OnDisconnected(bool stopCalled)
    {
        counter = counter - 1;
        Clients.All.UpdateCount(counter);
        return base.OnDisconnected(stopCalled);
    }

    //public void Hello()
    //{
    //    Clients.All.hello();
    //}
}

还有 Startup.cs:

public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();

            ConfigureAuth(app);

        }
    }

最佳答案

不知道为什么,但这最终对我有用。我只是用 @section scripts 包围脚本标签:

    @section scripts{
    <script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>

<script src="~/signalr/hubs"></script>
<script>
        $(function () {
            var myHub = $.connection.counterHub;
            $.connection.hub.start().done(function () {

            });
            myHub.client.UpdateCount = function (count) {
                $("#counter").text(count);
            }
        });

</script>
    }

关于javascript - 无法读取未定义的属性 'counterHub',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940008/

相关文章:

javascript - 触发 Keyup 事件,不触发更改事件

javascript - HighCharts - 选择一个点时禁用鼠标悬停

asp.net-mvc - asp.net mvc路由问题

asp.net-mvc - ASP.net MVC 中的流畅验证 - 数据库验证

JavaScript 字符串不变性

javascript - AngularJS 货币过滤器 - 欧元

javascript - 调整包含绝对子项的父项高度

javascript - 字符串格式自定义方法扩展

jquery - Bootstrap 模式中的 Facebook 评论插件

asp.net-mvc - MVC 5 脚手架不为基本 EF 派生数据发出 Bootstrap 类