2015-02-09 52 views
0

我在MVC 5使用SignalR並試圖建立與我Hub類(MyHub.cs)通過JavaScript連接,但得到以下錯誤消息HUB類:SignalR問題:無法連接到

Uncaught TypeError: Cannot read property 'client' of undefined

這裏我的代碼,我想創建連接到SignalR:上google但不

var client= $.connection.myHub; 

我已經探索了很多摹設置任何相關的解決方案。請幫我弄清楚這個問題。

在此先感謝。

+0

沒有足夠的代碼 – 2015-02-09 18:28:39

回答

0

我已經找到了解決的辦法,剛剛從web.config

<add key="owin:AutomaticAppStartup" value="false" /> 

它爲我刪除下面一行。

1

你必須參考下面的代碼。 我的觀點有以下menioned代碼

<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); 


    } 

} 
+0

如果你想然後我會給你我的工作示例 – 2015-02-09 06:23:51

+0

確定給我你的樣品它會對我有幫助。 – 2015-02-09 06:27:13

+0

根據你的代碼行'var connectionHub = $ .connection.commentHub;'給出錯誤。 – 2015-02-09 11:03:38