我正在尝试创建 SignalR chat 应用程序,但我无法解决此错误:
未捕获的TypeError:无法读取属性' 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>