我收到Javascript尝试通过SignalR应用程序将客户端连接到服务器的错误消息“无法读取未定义的属性'myHub'”。
myHub.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;

namespace ChatForm
{
    [HubName("myHub")]
    public class MyHub : Hub
    {
        public void addChat(string message)
        {
            Clients.All.addChat(message);
        }
    }
}


chat.cshtml

@{
    ViewBag.Title = "Chat";
}
<h3>@ViewBag.Message</h3>
<h2>@ViewBag.Title</h2>
<div class="container">
    <input type="text" id="message" placeholder="Share what's in your mind..." />
    <input type="button" id="sendmessage" value="Send" />
    <br />
    <br />
    <label  id="label1">Group Chat Conversations History</label>
    <div>
        <input type="hidden" id="displayname" />
        <ul id="discussion"></ul>
    </div>
</div>
@section scripts {

    <script src="~/Scripts/jquery.signalR-2.1.0.min.js"></script>
    <script src="~/signalr/hub"></script>
    <script src="~/Scripts/chat.js"></script>

}


chat.js
代理
    $ .connection.myHub.logging = true;

$.connection.myHub.start()
    .done(function () {
        console.log("Worked")

    })
    .fail(function () { alert("Error!!") });

最佳答案

您的错误表示$.connection未定义。问题是为什么?

我认为您忘记加载jquery。尝试在signalR之前加载jquery bundle。

08-06 20:19