0

我正在尝试在我们目前正在处理的项目中使用 SignalR 库。我已经阅读了一些博客,查看了一些 stackoverflow 答案并检查了 signalr 的文档,但没有任何运气。下面的代码只是我试图使其工作的最简单的示例。

我正在使用带有集线器的 SignalR 1.0.1、jquery 2.0.0、ASP.NET MVC2、.NET Framework 4,信号器/集线器通过Url.Content("~/signalr/hubs"). 在页面的源代码中,当我单击 signalr/hubs 时,我可以看到 SignalR 生成的 js 代码。

我还在RouteTable.Routes.MapHubs();Application_Start() My Hub 的开头添加了:

public class Chat : Hub
{
    public void Send()
    {
        Clients.All.addMessage();
    }
}

jQuery 文档就绪块中的客户端代码

$(function() {
    var chat = $.connection.chat;

    chat.client.addMessage = function() {
        console.log("hello here");
    };

    $.connection.hub.logging = true;
    $.connection.hub.error(function() {
        console.log("An error occured1");
    });
    $.connection.hub.start()
        .done(function() {
            alert("Now connected!");
        })
        .fail(function() {
            console.log("Could not connect");
        });
});

问题是: http://localhost/EC/signalr/negotiate返回状态200 OK,但是响应体是空的,所以没有创建连接。

我尝试设置runAllManagedModulesForAllRequests="true",但没有改变任何东西,也尝试过$.connection.hub.url = 'http://localhost/EC/signalr';但再次没有效果。

我还将我的 hubs 类保存在 Hubs 文件夹或项目的根目录中。

我将不胜感激任何帮助,因为我没有想法,如何以及在哪里寻找解决方案。

4

2 回答 2

0

好的,所以我们的服务器出现了问题,阻止了一切。感谢您调查我们的问题。问题可以关闭。

于 2013-05-09T11:55:27.813 回答
0

@suleks,

您的页面是否有可能缺少“signalr/hubs”脚本?

<script src="signalr/hubs" type="text/javascript"></script>
于 2013-04-30T11:48:16.623 回答