没有订阅集线器。 (SIGNALR跨域)

时间:2018-01-30 13:01:56

标签: asp.net-mvc signalr

我正在尝试从我的不同应用程序(CROSS DOMAIN)连接SIGNALR中心。

已连接,但上述错误出现在SIGNALR日志记录中。

这是我的客户端应用程序代码

 <script src="~/scripts/jquery-1.6.4.min.js"></script>
<script src="~/scripts/jquery.signalR-2.2.2.min.js"></script>
<script src="../signalr/hubs"></script>
<script>
    $(function () {
        var hub = $.connection.chattingHub;
        $.connection.hub.url = 'http://localhost:2372/signalr';
        $.connection.hub.logging = true;

        $.connection.hub.start().done(function () {

        });

    });
</script>

这是我的Sever侧应用程序代码,它连接并使用相同的应用程序。

  <script src="~/scripts/jquery-1.6.4.js"></script>
<script src="~/scripts/jquery.signalR-2.2.2.min.js"></script>
<script src="../signalr/hubs"></script>
<script>
    $(function () {
        var hub = $.connection.chattingHub;
        $.connection.hub.logging = true;
        hub.client.broadcastMessage = function (name, message) {
        };

        $.connection.hub.start().done(function () {
            console.log($.connection.hub);
            $('#sendMessage').click(function () {
                // Call the Send method on the hub. 
                hub.server.sendMessage($('#username').val(), $('#message').val());
                // Clear text box and reset focus for next comment. 
                $('#message').val('').focus();
            });

        });

        //signalr method for push server message to client
       /* hub.client.broadcastMessage = function (name, message) {
            console.log(name, message);
        };*/
    });
</script>

在服务器应用程序上我也启用了交叉原点并且它已连接但在客户端集线器上没有订阅。

请帮帮我们。

1 个答案:

答案 0 :(得分:0)

您是否尝试启用jsonp;

public void Configuration(IAppBuilder app)
{
    var config = new HubConfiguration();
    config.EnableJSONP = true;
    app.MapSignalR(config);                       
}

然后按jsonp:true参数创建连接;

var hub = $.connection.chattingHub;
$.connection.hub.url = 'http://localhost:2372/signalr';
$.connection.hub.logging = true;

$.connection.hub.start({jsonp:true}).done(function () {

});