首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未捕获的错误: Signalr jquery错误

未捕获的错误: Signalr jquery错误
EN

Stack Overflow用户
提问于 2016-02-25 17:30:31
回答 1查看 371关注 0票数 0

在asp.net C#中实现Signalr时出现错误,如下所示:

代码语言:javascript
复制
Uncaught Error: SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.

我在visual studio 2010中实现了signalr,我以前也实现过同样的代码,但运行得很好。请帮助我解决此错误。我的代码是这样的:

代码语言:javascript
复制
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="default.aspx.vb" Inherits="SignalRTest._default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>


    <script src="Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery.signalR-1.0.0-rc1.js" type="text/javascript"></script>
    <script src="signalr/hubs" type="text/javascript"></script> 

</head>
<body>
    <form id="form1" runat="server">
     <script type="text/javascript">
         $(function () {

             var IWannaChat = $.connection.myChatHub;

             IWannaChat.client.addMessage = function (message) {
                 $('#listMessages').append('<li>' + message + '</li>');
             };

             $("#SendMessage").click(function () {
                 IWannaChat.server.send($('#txtMessage').val());
             });

             $.connection.hub.start();
         });
    </script>




  <div>
        <input type="text" id="txtMessage" />
        <input type="button" id="SendMessage" value="broadcast" />
        <ul id="listMessages">
        </ul>
    </div>

</form>
</body>
</html>

我的后台代码是这样的:

代码语言:javascript
复制
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports Microsoft.AspNet.SignalR.Hubs
Imports Microsoft.AspNet.SignalR
Imports System.Net

Namespace SignalRChat
    <HubName("myChatHub")> _
    Public Class LetsChat
        Inherits Hub
        Public Sub send(message As String)
            message = "User : " + Dns.GetHostName() + " User :" + System.Security.Principal.WindowsIdentity.GetCurrent().Name + " Message : " + message


            Clients.Caller.addMessage(message)
        End Sub
    End Class
End Namespace

我的global.asax是这样的:

代码语言:javascript
复制
   Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires when the application is started
        RouteTable.Routes.MapHubs()
    End Sub
EN

回答 1

Stack Overflow用户

发布于 2016-02-25 18:13:29

我会写这段代码,在连接开始后设置按钮上的钩子:

代码语言:javascript
复制
 $(function () {
    var IWannaChat = $.connection.myChatHub;

    IWannaChat.client.addMessage = function (message) {
        $('#listMessages').append('<li>' + message + '</li>');
    };

    $.connection.hub.start().done(function() {
         $("#SendMessage").click(function () {
             IWannaChat.server.send($('#txtMessage').val());
         });
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35623275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档