SignalR 问题:无法连接到集线器 class
SignalR Issue : Cannot connect to Hub class
我在 MVC 5
中使用 SignalR
并尝试通过 JavaScript
与我的 Hub
class (MyHub.cs) 创建连接但收到以下错误消息:
Uncaught TypeError: Cannot read property 'client' of undefined
这是我的代码,我试图从中创建与 SignalR
的连接:
var client= $.connection.myHub;
我在 google
上进行了很多探索,但没有得到任何相关的解决方案。请帮我解决这个问题。
提前致谢。
您必须参考下面提到的代码。
我的观点有以下提到的代码
<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 class 看起来像
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);
}
}
我已经找到了解决方案,只需从 web.config
中删除下面的行
<add key="owin:AutomaticAppStartup" value="false" />
对我有用。
我在 MVC 5
中使用 SignalR
并尝试通过 JavaScript
与我的 Hub
class (MyHub.cs) 创建连接但收到以下错误消息:
Uncaught TypeError: Cannot read property 'client' of undefined
这是我的代码,我试图从中创建与 SignalR
的连接:
var client= $.connection.myHub;
我在 google
上进行了很多探索,但没有得到任何相关的解决方案。请帮我解决这个问题。
提前致谢。
您必须参考下面提到的代码。 我的观点有以下提到的代码
<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 class 看起来像
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);
}
}
我已经找到了解决方案,只需从 web.config
<add key="owin:AutomaticAppStartup" value="false" />
对我有用。