【问题标题】:signalR failed connection to remote serversignalR 连接到远程服务器失败
【发布时间】:2014-11-02 13:58:53
【问题描述】:

我用一个例子对信号器进行了实验

[http://www.c-sharpcorner.com/UploadFile/78d182/signalr-sample-chat-application-in-C-Sharp/]

它在 Visual Studio 环境中的本地主机上运行良好。 我将服务器端代码分离并上传到远程服务器上。现在,当我尝试连接该远程服务器时,它会抛出这些异常:

加载资源失败:服务器响应状态为 404 (未找到)

未捕获类型 错误:无法读取未定义 connect.js 的属性“客户端”:9

我的代码在 connect.js 文件中,如下代码块

$(function () {
    alert('i m here');
    $.connection.hub.url = "http://info2gsm.com";
    var IWanaChat = $.connection.myChatHub;
    IWanaChat.client.addMessage = function (message) {
    $("#listMessages").append('<li>' + message + '</li>');

    };

    $("#sendMessage").click(function(){
    alert($('#txtMessage').val());
    IWanaChat.server.send($('#txtMessage').val());
    });

    $.connection.hub.start();

});

我的 HTML 页面如下块

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-         scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

    <script src="Scripts/jquery-1.8.2.min.js"></script>
    <script src="Scripts/jquery.signalR-1.0.0.js"></script>

    <script src="signalr/hubs" type="text/javascript"></script>
    <script src="Scripts/connect.js"></script>

        <title>Hello World!</title>
    </head>
    <body>

     <div id="listMessages">

        <input type="text" ID="txtMessage"></>
        <br />
        <input  id="sendMessage" type="button" value="Send" /><br />
    </div>
        <script type="text/javascript">
    </script>
        <script type="text/javascript" src="cordova.js"></script>
    </body>
</html>

谢谢。

【问题讨论】:

  • 当您尝试点击 URL 时是否能够点击 signalR 集线器?
  • 是的,我能做到。问题是在 web.config 中启用跨域访问,我通过在 中添加以下内容来实现

标签: asp.net signalr


【解决方案1】:

您的虚拟目录似乎没有使用 signalR 集线器。你可以试试下面吗?

    &lt;script src="/signalr/hubs" type="text/javascript"&gt;&lt;/script&gt;

【讨论】: