未捕获的TypeError:无法读取属性' chatHub'未定义的

时间:2018-04-01 05:24:18

标签: asp.net-mvc-5 signalr signalr-hub signalr.client uncaught-typeerror

我正在尝试创建 SignalR chat 应用程序,但我无法解决此错误:

  

未捕获的TypeError:无法读取属性' chatHub'未定义的

View 1st Error Image : hubs not found

View 2nd Error Image : $.connection.chatHub

我在下面写了我的代码,请检查。

ChatHub.cs

using Microsoft.AspNet.SignalR;

namespace SignalRMVC.Models
{
    public class ChatHub : Hub
    {
        public void Send(string name, string message)
        {
            // Call the addNewMessageToPage method to update clients.
            Clients.All.addNewMessageToPage(name, message);
        }
    }
}

Startup.cs

using Owin;
using Microsoft.Owin;
[assembly: OwinStartup(typeof(SignalRMVC.Models.Startup))]
namespace SignalRMVC.Models
{
    public class Startup
    {
        public void Configration(IAppBuilder app)
        {
            app.MapSignalR();
        }
    }
}

Chat.cshtml

<script>
    $(function () {

        var chat = $.connection.chatHub;

        chat.client.addNewMessageToPage = function (name, message) {
            $('#discussion').append('<li><strong>' + htmlEncode(name)
                + '</strong>: ' + htmlEncode(message) + '</li>');
        };

        $('#displayname').val(prompt('Enter your name:', ''));

        $('#message').focus();

        $.connection.hub.start().done(function () {
            $('#sendmessage').click(function () {
                chat.server.send($('#displayname').val(), $('#message').val());

                $('#message').val('').focus();
            });
        });
    });

    // This optional function html-encodes messages for display in the page.
    function htmlEncode(value) {
        var encodedValue = $('<div />').text(value).html();
        return encodedValue;
    }
</script>

0 个答案:

没有答案