我正在 MVC 5
中使用 SignalR
并尝试通过 创建与我的
但出现以下错误消息:Hub
类 (MyHub.cs) 的连接JavaScript
未捕获类型错误:无法读取未定义的属性“client”
这是我尝试创建与 SignalR
的连接的代码:
var client= $.connection.myHub;
我在google
上探索了很多,但没有得到任何相关的解决方案。请帮我解决这个问题。
提前致谢。
最佳答案
您必须引用下面提到的代码。 我的 View 有下面提到的代码
<script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>
<script src="~/signalr/hubs"></script>
<script>
$(function ()
{
var connectionHub = $.connection.commentHub;
connectionHub.client.addNewComment = function (comment)
{
$("#Comment-list").append("<li>" + comment + "</li>");
};
$.connection.hub.start().done(function ()
{
$('#valueofcomment').keypress(function (event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
var UserName = '@Session["UserName"].ToString()' + '::' + $("#valueofcomment").val();
connectionHub.server.addComment(UserName);
$("#valueofcomment").val("");
return false;
}
});
$("#InserComment").click(function ()
{
var UserName = '@Session["UserName"].ToString()' + '::' + $("#valueofcomment").val();
connectionHub.server.addComment(UserName);
$("#valueofcomment").val("");
});
});
});
</script>
忽略内在逻辑,这是我的要求。您只需查看其中使用的方法即可。
我的 CommentHub 类看起来像
public class CommentHub:Hub
{
public void AddComment(string Comment)
{
var Context = new SignalREntities();
Comment com = new Comment();
com.Comment1 = Comment;
Context.Comments.Add(com);
Context.SaveChanges();
Clients.All.AddNewComment(Comment);
}
}
关于javascript - SignalR 问题 : Cannot connect to Hub class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28403798/